Função EqualPrefixSid (securitybaseapi.h)

A função EqualPrefixSid testa dois valores de prefixo sid ( identificador de segurança ) para igualdade. Um prefixo SID é o SID inteiro, exceto pelo último valor de subautoridade.

Sintaxe

BOOL EqualPrefixSid(
  [in] PSID pSid1,
  [in] PSID pSid2
);

Parâmetros

[in] pSid1

Um ponteiro para a primeira estrutura sid a ser comparada. Essa estrutura é considerada válida.

[in] pSid2

Um ponteiro para a segunda estrutura sid a ser comparada. Essa estrutura é considerada válida.

Retornar valor

Se os prefixos sid forem iguais, o valor retornado será diferente de zero.

Se os prefixos sid não forem iguais, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

A função EqualPrefixSid permite que um aplicativo de servidor em um domínio verifique uma tentativa de um usuário de fazer logon em outro domínio. Por exemplo, se um usuário tentar fazer logon no RemoteDomain de uma estação de trabalho no LocalDomain, o servidor para LocalDomain poderá solicitar os SIDs para o usuário e os grupos do usuário do RemoteDomain. O controlador de domínio para RemoteDomain responde com os SIDs relevantes.

Todos os SIDs para um domínio especificado têm o mesmo prefixo. Quando o servidor recebe os SIDs do usuário, o servidor pode chamar a função EqualPrefixSid para cada SID, comparando o USUÁRIO ou o SID de grupo com o SID para RemoteDomain. Se qualquer um dos prefixos sid não for igual, o servidor recusará a tentativa de logon.

É aconselhável modificar o SID para um domínio antes de compará-lo com um GRUPO ou SID de usuário. Se o SID para RemoteDomain for S-1-1234-8, cada SID de grupo ou usuário para esse domínio terá S-1-1234-8 como seu prefixo. Para comparar os SIDs usando a função EqualPrefixSid , um aplicativo copia o SID de domínio e adiciona qualquer valor de SUBautoridade (RID) à cópia, criando assim um SID no formulário S-1-1234-8-0. Em seguida, o aplicativo usa o SID de domínio modificado como um modelo em relação ao qual os SIDs do grupo e do usuário são comparados.

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]
Plataforma de Destino Windows
Cabeçalho securitybaseapi.h (inclua Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

Visão geral do Controle de Acesso

Funções de Controle de Acesso básicas

CopySid

EqualSid

IsValidSid

SID