LSA_TOKEN_INFORMATION_V3 结构 (ntsecpkg.h)
LSA_TOKEN_INFORMATION_V3 结构向 LSA 令牌添加了声明支持,并包含身份验证包可以放置在版本 3 Windows 令牌对象中的信息,并已取代LSA_TOKEN_INFORMATION_V1。
版本 3 Windows 令牌对象存储从身份验证包生成令牌到 本地安全机构 (LSA) 所需的所有信息。 LSA 将此信息传递到内核以创建令牌对象,并将该令牌对象的句柄返回到 LsaLogonUser 的调用方。 LSA 假定此结构的第一个成员与 LSA_TOKEN_INFORMATION_V1 结构中的成员相同。
语法
typedef struct _LSA_TOKEN_INFORMATION_V3 {
LARGE_INTEGER ExpirationTime;
TOKEN_USER User;
PTOKEN_GROUPS Groups;
TOKEN_PRIMARY_GROUP PrimaryGroup;
PTOKEN_PRIVILEGES Privileges;
TOKEN_OWNER Owner;
TOKEN_DEFAULT_DACL DefaultDacl;
TOKEN_USER_CLAIMS UserClaims;
TOKEN_DEVICE_CLAIMS DeviceClaims;
PTOKEN_GROUPS DeviceGroups;
} LSA_TOKEN_INFORMATION_V3, *PLSA_TOKEN_INFORMATION_V3;
成员
ExpirationTime
安全上下文变为无效的时间。 如果上下文永不过期,则使用遥远的将来的值。 操作系统内核的当前版本不强制实施此过期时间。
User
TOKEN_USER 结构,其中包含用户登录的 SID。 安全标识符 SID 值位于单独分配的内存块中。
Groups
TOKEN_GROUPS 结构,其中包含用户所属组的 SID。 这不应包括 WORLD 或其他系统定义和系统分配的 SID。 LSA 会自动添加这些内容。
每个 SID 应位于单独分配的内存块中。 TOKEN_GROUPS结构还应位于单独分配的内存块中。 所有这些内存块都应通过调用 AllocatePrivateHeap 函数进行分配。
PrimaryGroup
TOKEN_PRIMARY_GROUP 结构,用于建立用户的主组。 此值不必对应于分配给用户的 SID 之一。
此结构指向的 SID 应位于单独分配的内存块中。
此成员是必需的,必须填写。
Privileges
TOKEN_PRIVILEGES 包含分配给用户 的权限 的结构。 此特权列表将由任何本地安全策略分配的特权来增强或重写。
每个特权应位于单独分配的内存块中。 TOKEN_PRIVILEGES结构还应位于单独分配的内存块中。
如果没有要分配给用户的权限,则此成员可能设置为 NULL。
Owner
TOKEN_OWNER 结构。 此成员可用于建立显式默认所有者。 通常,用户 ID 用作默认所有者。 如果需要其他值,则必须在此处指定该值。
Owner.Sid 成员可以设置为 NULL,以指示没有备用的默认所有者值。
DefaultDacl
TOKEN_DEFAULT_DACL 结构。 此成员可用于为用户建立默认保护。 如果未提供任何值,则将建立向所有人授予所有访问权限的默认保护。
DefaultDacl.DefaultDacl 成员可以设置为 NULL,以指示没有默认保护。
UserClaims
TOKEN_USER_CLAIMS 结构。 此成员存储令牌的不透明用户声明 BLOB。 UserClaims 成员可以设置为 NULL,以指示令牌中没有其他用户声明。 声明是仅限允许的实体,因此省略声明可能会限制访问。
DeviceClaims
TOKEN_DEVICE_CLAIMS 结构。 此成员存储令牌的不透明设备声明 BLOB。 DeviceClaims 成员可以设置为 NULL,以指示令牌中没有其他设备声明。 声明是仅限允许的实体,因此省略声明可能会限制访问。
DeviceGroups
TOKEN_GROUPS 结构,其中包含身份验证设备成员的组的 SID。 与用户组一样,这不应包括 WORLD 或其他系统定义或分配的 SID。 DeviceGroups 成员可以设置为 NULL,以指示不应发生复合。 如果 存在 DeviceGroup ,LSA 将添加 WORLD 和其他分配的 SID。
与用户组不同,没有主设备组的概念。
每个 SID 应位于单独分配的内存块中。 TOKEN_GROUPS结构还应位于单独分配的内存块中。
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | ntsecpkg.h |