Função RpcBindingSetAuthInfo (rpcdce.h)
A função RpcBindingSetAuthInfo define as informações de autenticação e autorização de um identificador de associação.
Sintaxe
RPC_STATUS RpcBindingSetAuthInfo(
RPC_BINDING_HANDLE Binding,
RPC_CSTR ServerPrincName,
unsigned long AuthnLevel,
unsigned long AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
unsigned long AuthzSvc
);
Parâmetros
Binding
Identificador de associação de servidor ao qual as informações de autenticação e autorização devem ser aplicadas.
ServerPrincName
Ponteiro para o nome de entidade de segurança esperado do servidor referenciado por Binding. O conteúdo do nome e sua sintaxe são definidos pelo serviço de autenticação em uso.
AuthnLevel
Nível de autenticação a ser executado em chamadas de procedimento remoto feitas usando Associação. Para obter uma lista dos níveis de autenticação com suporte em RPC, consulte a lista de constantes de nível de autenticação.
AuthnSvc
Serviço de autenticação a ser usado. Consulte a observação.
Especifique RPC_C_AUTHN_NONE desativar a autenticação para chamadas de procedimento remoto feitas usando Associação.
Se RPC_C_AUTHN_DEFAULT for especificado, a biblioteca de tempo de execução do RPC usará o serviço de autenticação RPC_C_AUTHN_WINNT para chamadas de procedimento remoto feitas usando Associação.
AuthIdentity
Manipule para a estrutura que contém as credenciais de autenticação e autorização do cliente apropriadas para o serviço de autenticação e autorização selecionado. Ao usar o serviço de autenticação RPC_C_AUTHN_WINNT , a AuthIdentity deve ser um ponteiro para uma estrutura SEC_WINNT_AUTH_IDENTITY (definida em Rpcdce.h). Os serviços de autenticação Kerberos e Negotiate também usam a estrutura SEC_WINNT_AUTH_IDENTITY .
Quando você seleciona o serviço de autenticação RPC_C_AUTHN_GSS_SCHANNEL, o parâmetro AuthIdentity deve ser um ponteiro para uma estrutura SCHANNEL_CRED (definida em Schannel.h). Especifique um valor nulo para usar o contexto de logon de segurança para o espaço de endereço atual. Passe o valor RPC_C_NO_CREDENTIALS para usar um contexto de logon anônimo.
AuthzSvc
Serviço de autorização implementado pelo servidor para a interface de interesse. Consulte a observação.
A validade e a confiabilidade dos dados de autorização, como qualquer dado do aplicativo, dependem do serviço de autenticação e do nível de autenticação selecionados. Esse parâmetro é ignorado ao usar o serviço de autenticação RPC_C_AUTHN_WINNT.
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
O identificador de associação era inválido. |
|
Esse foi o tipo errado de associação para a operação. |
|
Serviço de autenticação desconhecido. |
Comentários
Um aplicativo cliente chama a função RpcBindingSetAuthInfo para configurar um identificador de associação de servidor para fazer chamadas de procedimento remoto autenticadas. Um cliente não é necessário para chamar essa função.
A menos que um cliente chame RpcBindingSetAuthInfo, nenhuma chamada de procedimento remoto no identificador de associação é autenticada. Um servidor pode chamar RpcBindingInqAuthClient de dentro de uma chamada de procedimento remoto para determinar se essa chamada foi autenticada.
A função RpcBindingSetAuthInfo tira um instantâneo das credenciais. Portanto, a memória dedicada ao parâmetro AuthIdentity pode ser liberada antes do identificador de associação.
Devido a requisitos variados de diferentes versões do Microsoft RPC, a Microsoft recomenda que seu aplicativo mantenha um ponteiro para o parâmetro AuthIdentity enquanto o identificador de associação existir. Isso aumenta a portabilidade do aplicativo.
Windows Server 2003 com SP1 e Windows XP com SP2: Para o Windows XP SP2 e o Windows Server 2003 SP1, o ponteiro para o parâmetro AuthIdentity não precisa ser mantido durante a vida útil do identificador de associação. Esse ponteiro só deve ser mantido se as chamadas subsequentes para RpcBindingInqAuthInfo ou RpcBindingInqAuthInfoEx forem feitas.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | rpcdce.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |