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