Como configurar um aplicativo ASP.NET para um cenário de delegação

Traduções deste artigo Traduções deste artigo
ID do artigo: 810572 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo descreve como configurar o Internet Information Services (IIS) e o Active Directory necessários para delegação de aplicativos ASP.NET. Delegação é a próxima etapa após a representação. Sua capacidade de acessar recursos remotos em nome do cliente em vez de acessar recursos locais só oferece suporte a delegação. Este artigo descreve as etapas que você deve seguir para delegar um aplicativo ASP.NET-conectado.


Requisitos de delegação

Delegação depende da autenticação integrada do Windows para acessar recursos. Não há nenhum limite no número de computadores que você pode delegar sua conta--você deve configurar cada um deles corretamente. A Integrated Método de autenticação do Windows funciona somente se as duas seguintes condições existirem:
  • Você pode configurar sua rede para usar o protocolo de autenticação Kerberos requer o Active Directory.
  • Você configurar as contas e computadores na rede como confiáveis para delegação.
Se essas condições não forem verdadeiras, você não poderá usar a autenticação integrada do Windows para acessar dados em um recurso remoto porque a autenticação integrada do Windows só permite o acesso para o servidor IIS e não para os recursos adicionais configurados para autenticação do Windows que o servidor IIS acessa remotamente.

A autenticação Kerberos autentica o servidor e cliente, enquanto o NTLM (desafio/resposta do Windows NT) autentica o cliente apenas. Sistemas operacionais anteriores ao Windows 2000 não oferecem suporte a autenticação Kerberos. Kerberos requer que você use o IIS 5.0 ou posterior. Portanto, você deve executar Windows 2000 ou um sistema operacional mais recente em todos os computadores em que você usar a delegação de Kerberos. Além disso, você deve colocar todos os computadores na mesma floresta do Active Directory. Apenas Microsoft Internet Explorer 5.0 e versões posteriores oferecem suporte a Kerberos. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
217098Visão geral básica do protocolo de autenticação de usuário Kerberos no Windows 2000


Configurar o Internet Explorer para delegação

Quando você usa o Internet Explorer 5.0 ou posterior, você pode configurar para um ASP.NET - IIS delegação. Para fazer isso, execute as seguintes etapas:
  1. Inicie o Internet Explorer. Na barra de menus, clique em Ferramentas e, em seguida, clique em Opções da Internet .
  2. Clique na guia Avançado e clique para marcar a caixa de seleção Ativar autenticação integrada do Windows (requer reinicialização) .

    Essa configuração permite para responder a um desafio de negociação e executar a autenticação Kerberos. Como esse recurso requer Windows 2000 ou versão posterior, quando o Internet Explorer não estiver sendo executado em um Windows 2000 ou sistema operacional de versão posterior, em seguida, Internet Explorer não responde a um desafio de negociação. Por padrão, o Internet Explorer usa a autenticação NTLM, mesmo se você clicar para marcar a caixa de seleção Ativar autenticação integrada do Windows (requer reinicialização) .

    importante Esta seção, método ou tarefa contém etapas que informam sobre como modificar o registro. No entanto, sérios problemas poderão ocorrer se você modificar o registro incorretamente. Por isso, certifique-se que você execute essas etapas cuidadosamente. Para proteção adicional, fazer backup do registro antes de modificá-lo. Em seguida, você pode restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    322756Como fazer backup e restaurar o registro no Windows

  3. Observação Em computadores que executam o Microsoft Windows 2000 e versões posteriores, os administradores podem definir o valor da entrada REG_DWORD EnableNegotiate como 1 na seguinte chave do Registro para ativar a autenticação integrada do Windows:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
    .
  4. Existem alguns problemas onde Kerberos pode falhar no cliente Internet Explorer. Para obter mais informações sobre problemas relacionados à autenticação Kerberos, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
    321728Internet Explorer não oferece suporte a autenticação Kerberos com servidores proxy
    325608Delegação de autenticação por meio de Kerberos não funciona em arquiteturas de carga balanceada
    248350Autenticação Kerberos falha após a atualização do IIS 4.0 para o IIS 5.0
    264921Como o IIS autentica clientes de navegador

Configurar o IIS para delegação

Para ativar a autenticação integrada do Windows e representação de um aplicativo ASP.NET-conectado, você precisará configurar o IIS (Serviços de informações da Internet). Para configurar para autenticação do Windows no IIS, execute estas etapas:
  1. Clique em Iniciar , clique em Executar , digite inetmgr e, em seguida, clique em OK .
  2. Expanda computador local e, em seguida, expanda site .
  3. Clique com o botão direito do mouse padrão o site e, em seguida, clique em Propriedades .
  4. Clique na guia Segurança de diretório e, em seguida, clique em Editar em Anonymous access and authentication control .
  5. Clique para selecionar o integrada do Windows autenticação caixa de seleção e, em seguida, clique para desmarcar as caixas de seleção acesso anônimo e Autenticação básica e A autenticação Digest para servidor de domínio do Windows .

    Observação Se a autenticação anônima estiver habilitada, IIS sempre tentará autenticar usando primeiro, mesmo se outros métodos estão ativados.

    Se a autenticação anônima, autenticação integrada do Windows e autenticação básica são autenticação do Windows integrada, selecionado todos os prevalece sobre autenticação básica, após a autenticação anônima.

Configurar o ASP.NET para delegação

  1. Abra um arquivo Web.config em um editor de texto, como o bloco de notas. O arquivo Web.config está localizado no aplicativo Web da pasta.
  2. No arquivo Web.config, localize as seguintes informações na seção <configuration>:
    <allow users="*" /> 
    <deny users="?" />
  3. Na seção <System.web>, verifique se o elemento de autenticação está definido Windows da seguinte maneira:
    <authentication mode="Windows" />
  4. Na seção <System.web>, adicione o elemento a seguir para representação:
    <identity impersonate="true" />
  5. Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
    306158Como implementar a representação em um aplicativo ASP.NET
    317012Processo e solicitação de identidade no ASP.NET
    315736Como proteger um aplicativo ASP.NET usando a segurança do Windows

Configurar o Active Directory para delegação

Delegação deve ser habilitada em todos os computadores com credenciais de delegado. Ele pode ser configurado nas ferramentas do Active Directory.

Para obter mais informações, visite os seguintes sites:
Permitir que um computador seja confiável para delegação
http://technet2.microsoft.com/windowsserver/en/library/b207ee9c-a055-43f7-b9be-20599b694a311033.mspx
Contas de usuário e computador
http://technet2.microsoft.com/windowsserver/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx
O principal processo do IIS, InetInfo.exe, é um serviço que é executado sob a LocalSystem conta e é o processo que faz o seguinte:
  • Leva a solicitação do cliente
  • Representa o usuário
  • Executa as tarefas apropriadas
  • Reverte para a identidade do processo. Isso é LocalSystem
Se você estiver executando o InetInfo.exe em uma conta que seja diferente de LocalSystem, você deve verificar a conta é tem permissão para atuar como um representante. Nesse caso, não configure o computador para delegação.

Solucionar problemas

  1. Se o nome do servidor Web que você usar a URL para chamar a página ASP.NET não é o nome NetBIOS do computador IIS, a autenticação integrada pode falhar com erro 401.3. Para resolver esse problema, registre um nome principal de serviço novo para o computador com o utilitário SetSPN.exe. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    294382Autenticação pode falhar com erro "401.3" Se for diferente "Cabeçalho do site da Web de host" do nome NetBIOS do servidor
  2. Kerberos não funciona em uma arquitetura com balanceamento de carga e IIS cai volta para a autenticação NTLM. Porque você não pode usar NTLM para delegação, todos os aplicativos ou serviços que requerem a delegação não funcionam. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    325608Delegação de autenticação por meio de Kerberos não funciona em arquiteturas de carga balanceada
  3. Para o Kerberos funcione corretamente, você deve usar nomes de domínio totalmente qualificado (FQDN) para toda a comunicação.
  4. Quando você usar o Internet Explorer em um cliente Windows 2000 e, em seguida, localize um site onde o nome de cabeçalho de host é diferente do nome NetBIOS do computador, autenticação integrada pode falhar com erro 401.3. Observe que os clientes do Internet Explorer que usam Windows NT 4 ou Windows 98 ou Windows 95 não falhará. Além disso, outras esquemas de autenticação irão funcionar.
  5. Se o servidor Web usa um nome de domínio totalmente qualificado, você deve adicionar que o site é adicionado à lista de sites de intranet no Internet Explorer. Para verificar que o servidor Web usa um nome de domínio totalmente qualificado, execute estas etapas:
    1. Inicie o Internet Explorer.
    2. No menu Ferramentas , clique em Opções da Internet e clique na segurança guia.
    3. Clique para selecionar intranet local . Clique em sites .
    4. Clique em Avançar e, em seguida, digite endereço na Web na caixa de diálogo Adicionar este site à zona . Clique em Adicionar e, em seguida, clique em OK .
  6. Se o cliente do Internet Explorer é configurado para usar um servidor proxy, você deve clique para selecionar a caixa de seleção Ignorar servidor de proxy para endereços locais . Para verificar que o cliente do Internet Explorer está configurado para usar um servidor proxy, isso execute estas etapas:
    1. Inicie o Internet Explorer.
    2. No menu Ferramentas , clique em Opções da Internet e, em seguida, clique na guia conexões .
    3. Clique em configurações da LAN . Em proxy servidor, verifique se que a Ignorar servidor proxy para endereços locais verificar caixa estiver marcada.
  7. Se você deseja acessar um SQL Server do seu aplicativo ASP.NET conectados, você deve usar TCP/IP. Pipes nomeados não oferecem suporte a delegação de Kerberos. Chamado pipes usar NTLM apenas. Para fazer isso, adicione o seguinte atributo à seqüência de conexão:
    "Network Library =dbmssocn"
    se você não definir explicitamente a biblioteca de rede, NTLM leva a configuração de biblioteca primeira o cliente o utilitário de configuração (Cliconfg.exe). Esse padrão foi alterado de chamado pipes para TCP/IP no Microsoft Data Access Components (MDAC) 2.6.
    Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
    315159Erro: Pipes nomeados não funcionam quando o processo do operador é executado na conta ASPNET
    247931Métodos de autenticação para conexões ao SQL Server no ASP

Referências

Para obter mais informações sobre como criar mais proteger aplicativos baseados na Web e cenários de delegação, visite a seguinte site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/aa302415.aspx
Para obter mais informações sobre como criar aplicativos baseados na Web seguros, consulte o seguinte:
Design Secure Web-Based Applications"
Microsoft Press
Michael Howard, Marc Levy e Richard Waymire
ISBN 0-7356-0995-0

Propriedades

ID do artigo: 810572 - Última revisão: segunda-feira, 3 de dezembro de 2007 - Revisão: 8.8
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbmt kbauthentication kbwebforms kbdomain kbclient kbconfig kbwebserver kbhowtomaster kbhowto KB810572 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 810572

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com