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