Desativando a segurança de chamadas

A segurança de chamada determina se um cliente tem permissão para chamar os métodos de um servidor. Há duas maneiras de desabilitar a segurança de chamadas: uma envolve o uso de Dcomcnfg.exe para modificar o Registro e a outra requer chamadas para CoInitializeSecurity.

Desativando a segurança de chamadas usando DCOMCNFG

A segurança de chamadas pode ser desativada mais facilmente usando Dcomcnfg.exe para modificar o Registro. No entanto, usar Dcomcnfg.exe para desativar a segurança funcionará somente se o cliente e o servidor não chamarem CoInitializeSecurity. Isso ocorre porque quando CoInitializeSecurity é chamado, o DCOM ignora as configurações do Registro e usa os valores fornecidos a CoInitializeSecurity.

Para desativar a segurança com Dcomcnfg.exe, o cliente e o servidor devem definir seus Níveis de Autenticação como Nenhum. As seguintes etapas devem ser concluídas:

  1. Execute Dcomcnfg.exe.
  2. Na página Aplicativos, selecione o aplicativo que representa o servidor. Clique no botão Propriedades (ou clique duas vezes no aplicativo selecionado).
  3. Clique na guia Geral.
  4. Na caixa de listagem Nível de Autenticação Padrão, selecione (Nenhum).
  5. Clique no botão Aplicar para aplicar alterações, no entanto, as alterações não são aplicadas a nenhuma instância em execução do aplicativo.
  6. Se o cliente aparecer na lista na página Aplicativos, repita as etapas 2 a 5, escolhendo o cliente em vez do servidor para a etapa 2. Em seguida, clique no botão OK. Se o cliente não estiver na lista, você poderá fazer uma das três coisas a seguir:
    • Você pode definir o Nível de Autenticação do cliente como Nenhum em todo o computador usando Dcomcnfg.exe. (Veja o aviso e o procedimento abaixo).
    • Você pode definir o nível de autenticação do cliente como Nenhum programaticamente.
    • Você pode criar uma chave AppID para o cliente para indicar um nível de autenticação de Nenhum. (Veja Definindo a segurança em todo o processo por meio do Registro.)

Para definir o Nível de Autenticação como Nenhum em todo o computador:

Observação

Definir o Nível de Autenticação em todo o computador como Nenhum é extremamente inseguro.

 

  1. Execute Dcomcnfg.exe.
  2. Escolha a guia Propriedades padrão.
  3. Na caixa de listagem Nível de Autenticação Padrão, escolha (Nenhum).
  4. Clique no botão OK.

Desativando a segurança de chamadas programaticamente

Para desativar a segurança de chamada programaticamente, o cliente e o servidor devem chamar CoInitializeSecurity, definindo o nível de autenticação no parâmetro dwAuthnLevel como RPC_C_AUTHN_LEVEL_NONE.

Desativando a segurança de ativação