Negociação do Nível de Autenticação

O cliente e o servidor devem participar da autenticação, e cada parte indica que deseja executar um determinado nível de autenticação. No início de uma chamada, o nível de autenticação é negociado entre as duas partes, um serviço apropriado é escolhido e a chamada é autenticada e prossegue (com possível criptografia, dependendo do nível de autenticação escolhido). O nível de autenticação negociado entre cliente e servidor é determinado como Máximo (preferência do cliente, preferência do servidor). O efeito disso significa que o servidor sempre pode ditar um nível mínimo de autenticação com o qual se sinta confortável; ou seja, a autenticação pode ser ditada administrativamente a partir do servidor.

O cliente especifica que deseja executar a autenticação em um determinado nível, como acontece com qualquer aplicativo COM. O nível de autenticação do cliente pode ser indicado da seguinte maneira:

  • Por máquina cliente, com o nível de autenticação COM em toda a máquina definido usando DCOMCNFG ou a ferramenta administrativa Serviços de Componentes.
  • Por aplicativo cliente administrativamente, usando DCOMCNFG ou usando a ferramenta administrativa Serviços de Componentes se o cliente deve ser um aplicativo COM+.
  • Por processo de cliente programaticamente, com CoInitializeSecurity.
  • A qualquer momento programaticamente, usando CoSetProxyBlanket.

O aplicativo de servidor COM+ especifica um nível de autenticação administrativamente usando a ferramenta administrativa Serviços de Componentes (ou por meio de um script administrativo).

A negociação da autenticação de uma chamada prossegue na seguinte sequência:

  1. O nível de autenticação é escolhido como MAX(cliente, servidor).
  2. Negociação de protocolo de autenticação.
  3. O servidor autentica a identidade do cliente.
  4. Opcionalmente, o cliente autentica a identidade do servidor, dependendo do protocolo de autenticação.
  5. As chamadas de método são comunicadas com o nível de autenticação escolhido.

Autenticação de cliente