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 principal 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 para RPC, consulte a lista de Constantes no Nível de Autenticação.
AuthnSvc
Serviço de autenticação a ser usado. Consulte a observação.
Especifique RPC_C_AUTHN_NONE para 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 , AuthIdentity deve ser um ponteiro para uma estrutura de 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 de 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 autenticados. 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 de associação será 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 usa uma 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ó deverá 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 |