estrutura LSA_TOKEN_INFORMATION_V1 (ntsecpkg.h)
A estrutura LSA_TOKEN_INFORMATION_V2 contém informações que um pacote de autenticação pode colocar em um objeto de token do Windows versão 2 e substituiu LSA_TOKEN_INFORMATION_V1.
As informações de token da versão 2 são usadas na maioria dos logons. A estrutura é idêntica à estrutura LSA_TOKEN_INFORMATION_V1 , com exceção de que a alocação de memória é tratada de forma diferente. A estrutura LSA_TOKEN_INFORMATION_V2 destina-se a ser alocada monoliticamente com os privilégios, DACL, SIDs e matriz de grupo, seja parte da mesma alocação, ou alocada e liberada externamente.
Um objeto de token do Windows versão 2 armazena todas as informações necessárias para criar um token do pacote de autenticação para a LSA ( Autoridade de Segurança Local ). A LSA passa essas informações para o kernel para criar um objeto de token e para retornar um identificador para esse objeto de token para o chamador de LsaLogonUser.
Sintaxe
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;
Membros
ExpirationTime
Hora em que o contexto de segurança se torna inválido. Use um valor em um futuro distante se o contexto nunca expirar. A versão atual do kernel do sistema operacional não impõe esse tempo de expiração.
User
TOKEN_USER estrutura que contém o SID do logon do usuário. O valor sid do identificador de segurança está em um bloco de memória alocado separadamente.
Groups
TOKEN_GROUPS estrutura que contém os SIDs de grupos dos quais o usuário é membro. Isso não deve incluir WORLD ou outros SIDs definidos pelo sistema e atribuídos pelo sistema. Elas serão adicionadas automaticamente pela LSA.
Espera-se que cada SID esteja em um bloco de memória alocado separadamente. A estrutura TOKEN_GROUPS também deve estar em um bloco de memória alocado separadamente. Todos esses blocos de memória devem ser alocados chamando a função AllocatePrivateHeap .
PrimaryGroup
TOKEN_PRIMARY_GROUP estrutura usada para estabelecer o grupo primário do usuário. Esse valor não precisa corresponder a um dos SIDs atribuídos ao usuário.
Espera-se que o SID apontado por essa estrutura esteja em um bloco de memória alocado separadamente.
Esse membro é obrigatório e deve ser preenchido.
Privileges
TOKEN_PRIVILEGES estrutura que contém os privilégios atribuídos ao usuário. Essa lista de privilégios será aumentada ou substituída por quaisquer privilégios atribuídos à política de segurança local.
Espera-se que cada privilégio esteja em um bloco de memória alocado separadamente. Espera-se também que a estrutura TOKEN_PRIVILEGES esteja em um bloco de memória alocado separadamente.
Se não houver privilégios a serem atribuídos ao usuário, esse membro poderá ser definido como NULL.
Owner
TOKEN_OWNER estrutura. Esse membro pode ser usado para estabelecer um proprietário padrão explícito. Normalmente, a ID de usuário é usada como o proprietário padrão. Se outro valor for desejado, ele deverá ser especificado aqui.
O membro Owner.Sid pode ser definido como NULL para indicar que não há nenhum valor de proprietário padrão alternativo.
DefaultDacl
TOKEN_DEFAULT_DACL estrutura. Esse membro pode ser usado para estabelecer uma proteção padrão para o usuário. Se nenhum valor for fornecido, uma proteção padrão que conceda a todos todos o acesso será estabelecida.
O membro DefaultDacl.DefaultDacl pode ser definido como NULL para indicar que não há proteção padrão.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | ntsecpkg.h |