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
- Desativando a segurança de chamadas programaticamente
- Tópicos relacionados
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:
- Execute Dcomcnfg.exe.
- Na página Aplicativos, selecione o aplicativo que representa o servidor. Clique no botão Propriedades (ou clique duas vezes no aplicativo selecionado).
- Clique na guia Geral.
- Na caixa de listagem Nível de Autenticação Padrão, selecione (Nenhum).
- 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.
- 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.
- Execute Dcomcnfg.exe.
- Escolha a guia Propriedades padrão.
- Na caixa de listagem Nível de Autenticação Padrão, escolha (Nenhum).
- 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.
Tópicos relacionados