estructura LSA_TOKEN_INFORMATION_V1 (ntsecpkg.h)

La estructura de LSA_TOKEN_INFORMATION_V2 contiene información que un paquete de autenticación puede colocar en un objeto token de Windows de la versión 2 y ha supercedido LSA_TOKEN_INFORMATION_V1.

La información del token de la versión 2 se usa en la mayoría de los inicios de sesión. La estructura es idéntica a la estructura de LSA_TOKEN_INFORMATION_V1 , con la excepción de que la asignación de memoria se controla de forma diferente. La estructura de LSA_TOKEN_INFORMATION_V2 está pensada para asignarse de forma monolítica con los privilegios, DACL, SID y matriz de grupos, ya sea parte de la misma asignación, o asignada y liberado externamente.

Un objeto de token de Windows de la versión 2 almacena toda la información necesaria para compilar un token desde el paquete de autenticación a la entidad de seguridad local (LSA). LSA pasa esta información al kernel para crear un objeto de token y devolver un identificador a ese objeto de token al autor de la llamada de LsaLogonUser.

Sintaxis

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;

Miembros

ExpirationTime

Hora en la que el contexto de seguridad no es válido. Use un valor en el futuro lejano si el contexto nunca expira. La versión actual del kernel del sistema operativo no aplica esta hora de expiración.

User

TOKEN_USER estructura que contiene el SID del usuario que inicia sesión. El valor del SID del identificador de seguridad se encuentra en un bloque de memoria asignado por separado.

Groups

TOKEN_GROUPS estructura que contiene los SID de los grupos de los que es miembro el usuario. Esto no debe incluir WORLD u otros SID definidos por el sistema y asignados por el sistema. El LSA los agregará automáticamente.

Se espera que cada SID esté en un bloque de memoria asignado por separado. También se espera que la estructura de TOKEN_GROUPS esté en un bloque de memoria asignado por separado. Todos estos bloques de memoria deben asignarse llamando a la función AllocatePrivateHeap .

PrimaryGroup

TOKEN_PRIMARY_GROUP estructura que se usa para establecer el grupo principal del usuario. Este valor no tiene que corresponder a uno de los SID asignados al usuario.

Se espera que el SID señalado por esta estructura esté en un bloque de memoria asignado por separado.

Este miembro es obligatorio y debe rellenarse.

Privileges

TOKEN_PRIVILEGES estructura que contiene los privilegios asignados al usuario. Cualquier directiva de seguridad local asignará o invalidará esta lista de privilegios.

Se espera que cada privilegio esté en un bloque de memoria asignado por separado. También se espera que la estructura de TOKEN_PRIVILEGES esté en un bloque de memoria asignado por separado.

Si no hay privilegios para asignar al usuario, este miembro puede establecerse en NULL.

Owner

TOKEN_OWNER estructura. Este miembro se puede usar para establecer un propietario predeterminado explícito. Normalmente, el identificador de usuario se usa como propietario predeterminado. Si se desea otro valor, debe especificarse aquí.

El miembro Owner.Sid puede establecerse en NULL para indicar que no hay ningún valor de propietario predeterminado alternativo.

DefaultDacl

TOKEN_DEFAULT_DACL estructura. Este miembro se puede usar para establecer una protección predeterminada para el usuario. Si no se proporciona ningún valor, se establecerá una protección predeterminada que conceda a todos los usuarios todo el acceso.

El miembro DefaultDacl.DefaultDacl puede establecerse en NULL para indicar que no hay ninguna protección predeterminada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado ntsecpkg.h