Partager via


LSA_TOKEN_INFORMATION_V1 structure (ntsecpkg.h)

La structure LSA_TOKEN_INFORMATION_V2 contient des informations qu’un package d’authentification peut placer dans un objet de jeton Windows Version 2 et a superposé LSA_TOKEN_INFORMATION_V1.

Les informations de jeton de version 2 sont utilisées dans la plupart des connexions. La structure est identique à la structure LSA_TOKEN_INFORMATION_V1 , à l’exception du fait que l’allocation de mémoire est gérée différemment. La structure LSA_TOKEN_INFORMATION_V2 est destinée à être allouée de façon monolithique avec les privilèges, DACL, SID et tableau de groupes, soit faisant partie de la même allocation, soit allouée et libérée en externe.

Un objet de jeton Windows version 2 stocke toutes les informations nécessaires pour générer un jeton à partir du package d’authentification vers l’autorité de sécurité locale (LSA). LSA transmet ces informations au noyau pour créer un objet de jeton et retourner un handle à cet objet de jeton à l’appelant de LsaLogonUser.

Syntaxe

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;

Membres

ExpirationTime

Heure à laquelle le contexte de sécurité devient non valide. Utilisez une valeur dans un avenir lointain si le contexte n’expire jamais. La version actuelle du noyau du système d’exploitation n’applique pas ce délai d’expiration.

User

TOKEN_USER structure qui contient le SID de l’utilisateur qui se connecte. La valeur SID de l’identificateur de sécurité se trouve dans un bloc de mémoire alloué séparément.

Groups

TOKEN_GROUPS structure qui contient les SID de groupes dont l’utilisateur est membre. Cela ne doit pas inclure WORLD ou d’autres SID définis par le système et affectés par le système. Ceux-ci seront ajoutés automatiquement par l’ASE.

Chaque SID doit se trouver dans un bloc de mémoire alloué séparément. La structure TOKEN_GROUPS est également censée se trouver dans un bloc de mémoire alloué séparément. Tous ces blocs de mémoire doivent être alloués en appelant la fonction AllocatePrivateHeap .

PrimaryGroup

TOKEN_PRIMARY_GROUP structure utilisée pour établir le groupe principal de l’utilisateur. Cette valeur ne doit pas nécessairement correspondre à l’un des SID attribués à l’utilisateur.

Le SID pointé par cette structure devrait se trouver dans un bloc de mémoire alloué séparément.

Ce membre est obligatoire et doit être renseigné.

Privileges

TOKEN_PRIVILEGES structure qui contient les privilèges attribués à l’utilisateur. Cette liste de privilèges sera augmentée ou remplacée par tous les privilèges attribués à une stratégie de sécurité locale.

Chaque privilège doit se trouver dans un bloc de mémoire alloué séparément. La structure TOKEN_PRIVILEGES doit également se trouver dans un bloc de mémoire alloué séparément.

S’il n’existe aucun privilège à attribuer à l’utilisateur, ce membre peut être défini sur NULL.

Owner

TOKEN_OWNER structure. Ce membre peut être utilisé pour établir un propriétaire par défaut explicite. Normalement, l’ID utilisateur est utilisé comme propriétaire par défaut. Si une autre valeur est souhaitée, elle doit être spécifiée ici.

Le membre Owner.Sid peut être défini sur NULL pour indiquer qu’il n’existe aucune autre valeur de propriétaire par défaut.

DefaultDacl

TOKEN_DEFAULT_DACL structure. Ce membre peut être utilisé pour établir une protection par défaut pour l’utilisateur. Si aucune valeur n’est fournie, une protection par défaut qui accorde à tout le monde tout accès est établie.

Le membre DefaultDacl.DefaultDacl peut être défini sur NULL pour indiquer qu’il n’existe aucune protection par défaut.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête ntsecpkg.h