Controlando a autenticação de cliente
O melhor método para autenticar um cliente é instalar uma função de retorno de chamada de segurança usando a função RpcServerRegisterIf2 ou RpcServerRegisterIfEx ; aceita uma função de retorno de chamada de segurança como um argumento. Quando a função de retorno de chamada de segurança for chamada, faça as verificações necessárias. Os atributos na conexão, identidade do chamador ou ambos podem ser verificados. Para marcar os atributos de uma conexão, chame a função RpcServerInqCallAttributes ou RpcBindingInqAuthClient. Isso permite a filtragem de clientes que não são autenticados, clientes que usam um provedor de segurança específico ou clientes que não usam proteção forte o suficiente (como privacidade).
Para permitir o acesso a um subconjunto dos usuários autenticados, use RpcGetAuthorizationContextForClient. Essa função retorna um contexto de cliente Authz que pode ser usado para fazer verificações de acesso muito sofisticadas. Por exemplo, esse método pode ser usado para permitir o acesso somente aos vice-presidentes em uma organização durante o horário comercial normal e ao CEO durante qualquer hora usando os serviços do Active Directory para mapear um nome de usuário para seu título. O usuário pode ser representado e seu nome obtido. Depois que sua identidade for conhecida, todas as verificações desejadas poderão ser feitas.