estrutura CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)
Contém detalhes sobre uma credencial.
Sintaxe
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Membros
ulAuthenticationPackage
Tipo: ULONG
O identificador exclusivo do pacote de autenticação. Esse parâmetro é necessário ao chamar LsaLogonUser. Em um cenário de interface do usuário de credencial, esse valor é definido antes que uma serialização seja enviada por meio de SetSerialization. Isso é o mesmo que o valor do pacote de autenticação retornado por LsaLookupAuthenticationPackage. Os provedores de conteúdo podem usar esse parâmetro para determinar se podem retornar credenciais para esse pacote de autenticação. Os desenvolvedores que escrevem seu próprio pacote de autenticação podem fornecer seu próprio valor.
clsidCredentialProvider
Tipo: GUID
O CLSID do provedor de credenciais. Os provedores de credenciais atribuem seu próprio CLSID a esse membro durante a serialização. A interface do usuário de credencial ignora esse membro.
cbSerialization
Tipo: ULONG
O tamanho, em bytes, da credencial apontada por rgbSerialization.
rgbSerialization
Tipo: byte*
Uma matriz de bytes que contém informações de credencial serializadas. O formato exato desses dados depende do pacote de autenticação direcionado por um provedor de credenciais.
Comentários
Depois que o usuário inserir informações de credencial em um bloco de credenciais, ele precisará ser colocado em um buffer. O empacotamento dessas informações é chamado de serialização e é necessário independentemente de o cenário usar uma interface do usuário de logon ou uma interface do usuário de credencial. O CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION define a estrutura para serialização. Após a serialização, o local em que o buffer é enviado depende se ele é uma interface do usuário de logon ou um cenário de interface do usuário de credencial. Com uma interface do usuário de Logon, o buffer é passado para o Winlogon. No cenário da interface do usuário de credencial, esse buffer é retornado para o aplicativo de chamada que o usa para autenticar o usuário.
Mesmo que você esteja implementando uma CREDENTIAL_PROVIDER_USAGE_SCENARIO de CPUS_LOGON, não chame diretamente LsaLogonUser. Essa chamada é tratada pelo sistema. Você só precisa passar suas credenciais para o Winlogon.
As credenciais de entrada podem ter várias formas diferentes. É importante que os provedores de credenciais sejam robustos ao receber credenciais serializadas. Isso pode incluir credenciais incompletas ou parciais. Em muitos casos, uma credencial de entrada incompleta é uma dica sobre qual tipo de credencial o chamador deseja. Um caso em que esse processo é usado é com chamadores que só desejam coletar credenciais de cartão inteligentes do usuário. Durante o cenário de uso CPUS_LOGON , o sistema usa SetSerialization para preencher algumas das informações de um computador remoto. A interface do usuário de logon chamará SetSerialization zero ou uma vez a cada ciclo de enumeração.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Cabeçalho | credentialprovider.h |