LSA_TOKEN_INFORMATION_V1 结构 (ntsecpkg.h)
LSA_TOKEN_INFORMATION_V2 结构包含身份验证包可以放置在版本 2 Windows 令牌对象中的信息,并已取代LSA_TOKEN_INFORMATION_V1。
版本 2 令牌信息用于大多数登录。 结构与 LSA_TOKEN_INFORMATION_V1 结构相同,但内存分配的处理方式不同。 LSA_TOKEN_INFORMATION_V2结构旨在通过特权、DACL、SID 和组数组(属于同一分配的一部分)以整体方式进行分配,或者在外部分配和释放。
版本 2 Windows 令牌对象存储从身份验证包到 本地安全机构 生成令牌所需的所有信息, (LSA) 。 LSA 将此信息传递到内核以创建令牌对象,并将该令牌对象的句柄返回到 LsaLogonUser 的调用方。
语法
typedef struct _LSA_TOKEN_INFORMATION_V1 {
LARGE_INTEGER ExpirationTime;
TOKEN_USER User;
PTOKEN_GROUPS Groups;
TOKEN_PRIMARY_GROUP PrimaryGroup;
PTOKEN_PRIVILEGES Privileges;
TOKEN_OWNER Owner;
TOKEN_DEFAULT_DACL DefaultDacl;
} LSA_TOKEN_INFORMATION_V1, *PLSA_TOKEN_INFORMATION_V1;
成员
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,以指示没有默认保护。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | ntsecpkg.h |