LSA_TOKEN_INFORMATION_V1 struttura (ntsecpkg.h)

La struttura LSA_TOKEN_INFORMATION_V2 contiene informazioni che un pacchetto di autenticazione può inserire in un oggetto token windows versione 2 e ha sostituito LSA_TOKEN_INFORMATION_V1.

Le informazioni sul token della versione 2 vengono usate nella maggior parte degli accessi. La struttura è identica alla struttura LSA_TOKEN_INFORMATION_V1 , con l'eccezione che l'allocazione della memoria viene gestita in modo diverso. La struttura LSA_TOKEN_INFORMATION_V2 deve essere allocata monoliticamente con i privilegi, i SID e la matrice di gruppi della stessa allocazione o allocata e liberata esternamente.

Un oggetto token Windows versione 2 archivia tutte le informazioni necessarie per compilare un token dal pacchetto di autenticazione all'Autorità di sicurezza locale (LSA). L'LSA passa queste informazioni nel kernel per creare un oggetto token e per restituire un handle all'oggetto token al chiamante di LsaLogonUser.

Sintassi

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;

Members

ExpirationTime

Ora in cui il contesto di sicurezza non è valido. Usare un valore in futuro lontano se il contesto non scade mai. La versione corrente del kernel del sistema operativo non applica questa ora di scadenza.

User

TOKEN_USER struttura contenente il SID dell'accesso utente. Il valore SID dell'identificatore di sicurezza si trova in un blocco di memoria allocato separatamente.

Groups

TOKEN_GROUPS struttura contenente i SID dei gruppi di cui l'utente è membro. Ciò non deve includere i SID definiti dal sistema e definiti dal sistema. Questi verranno aggiunti automaticamente dall'LSA.

Ogni SID deve trovarsi in un blocco di memoria allocato separatamente. La struttura TOKEN_GROUPS è prevista anche in un blocco di memoria allocato separatamente. Tutti questi blocchi di memoria devono essere allocati chiamando la funzione AllocatePrivateHeap .

PrimaryGroup

TOKEN_PRIMARY_GROUP struttura usata per stabilire il gruppo primario dell'utente. Questo valore non deve corrispondere a uno dei SID assegnati all'utente.

Il SID a cui punta questa struttura dovrebbe trovarsi in un blocco di memoria allocato separatamente.

Questo membro è obbligatorio e deve essere compilato.

Privileges

TOKEN_PRIVILEGES struttura contenente i privilegi assegnati all'utente. Questo elenco di privilegi verrà incrementato o sottoposto a override da qualsiasi criterio di sicurezza locale assegnato privilegi.

Ogni privilegio deve trovarsi in un blocco di memoria allocato separatamente. La struttura TOKEN_PRIVILEGES è prevista anche in un blocco di memoria allocato separatamente.

Se non sono presenti privilegi da assegnare all'utente, questo membro può essere impostato su NULL.

Owner

TOKEN_OWNER struttura. Questo membro può essere usato per stabilire un proprietario predefinito esplicito. In genere, l'ID utente viene usato come proprietario predefinito. Se si desidera un altro valore, deve essere specificato qui.

Il membro Owner.Sid può essere impostato su NULL per indicare che non esiste alcun valore di proprietario predefinito alternativo.

DefaultDacl

TOKEN_DEFAULT_DACL struttura. Questo membro può essere usato per stabilire una protezione predefinita per l'utente. Se non viene fornito alcun valore, verrà stabilita una protezione predefinita che concede a tutti tutti l'accesso.

Il membro DefaultDacl.DefaultDacl può essere impostato su NULL per indicare che non esiste alcuna protezione predefinita.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione ntsecpkg.h