O erro "HTTP Erro 401.1 - Não autorizado: Acesso negado devido a credenciais inválidas" é exibido ao tentar acessar um site que faz parte de um pool de aplicativos do IIS 6.0

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

Neste artigo

Sintomas

Ao tentar acessar um site dos IIS (Serviços de Informações da Internet da Microsoft) 6.0 configurado para usar apenas a Autenticação integrada do Windows, você é solicitado a fornecer suas credenciais de usuário. Ao tentar fazer logon, o aviso de logon é exibido novamente. Depois de tentar fazer logon três vezes, a seguinte mensagem de erro é exibida:
HTTP Erro 401.1 - Não autorizado: Acesso negado devido a credenciais inválidas.

Causa

Esse comportamento poderá ocorrer se as seguintes condições forem verdadeiras:
  • O site do IIS 6.0 faz parte de um pool de aplicativos do IIS.
  • O pool de aplicativos está em execução em uma conta local ou em uma conta de usuário do domínio.
  • O site está configurado para usar apenas a Autenticação Integrada do Windows.
Nesta situação, quando a Autenticação Integrada do Windows tentar usar a autenticação Kerberos, esta talvez não funcione. Para usar a autenticação Kerberos, um serviço deve registrar o SPN (Nome da Entidade de Serviço) na conta do serviço de diretório Active Directory em que o serviço está em execução. Por padrão, o Active Directory registra o nome do computador NetBIOS (network basic input/output system). O Active Directory também permite que o Serviço de rede ou a conta Sistema local usem Kerberos.

Resolução

Caso este comportamento ocorra quando o pool de aplicativos estiver em execução em uma conta local, execute as etapas na seção "Solução alternativa".

Para resolver este comportamento, quando o pool de aplicativos estiver em execução em uma conta de usuário do domínio, defina um SPN HTTP com o nome NetBIOS e o FQDN (Nome de Domínio Totalmente Qualificado) da conta de usuário do domínio na qual o pool de aplicativos está em execução. Para fazer isto, execute as seguintes etapas em um controlador de domínio:

Importante Um SPN de serviço só pode ser associado a uma única conta. Por isso, caso use a resolução sugerida, nenhum dos demais pools de aplicativos em execução em uma outra conta de usuário do domínio pode ser usado apenas com a Autenticação integrada do Windows.
  1. Instale a ferramenta Setspn.exe. Para obter a ferramenta Setspn.exe para o Microsoft Windows Server 2003, clique no seguinte número para exibir o artigo na Base de Dados de Conhecimento Microsoft:
    970536 Atualização da ferramenta de suporte Setspn.exe para o Windows Server 2003
  2. Inicie um prompt de comando e altere o diretório no qual o Setspn.exe está instalado.
  3. No prompt de comando, digite os seguintes comandos. Pressione ENTER após cada comando:
    setspn.exe -S http/IIS_computer's_NetBIOS_name DomainName\UserName

    setspn.exe -S http/IIS_computer's_FQDN DomainName\UserName
    Observação UserName é a conta do usuário na qual o pool de aplicativos está executando. Além disso, se estiver executando o comando setspn.exe em uma máquina com Windows 2000, use o switch -A em vez do switch -S.
Depois de definir o SPN do serviço HTTP para a conta de usuário do domínio na qual o pool de aplicativos está em execução, é possível se conectar com êxito ao site sem que as credenciais de usuário sejam solicitadas.

Como Contornar

Como solução alternativa para este comportamento, caso você tenha vários pools de aplicativos executando em contas de usuário de domínio diferentes, é necessário forçar o IIS a usar NTLM como mecanismo de autenticação se quiser usar apenas a Autenticação Integrada do Windows. Para fazer isto, execute as seguintes etapas no servidor que está executando o IIS:
  1. Inicie um prompt de comando.
  2. Localize e altere o diretório que contém o arquivo Adsutil.vbs. Por padrão, o diretório é C:\Inetpub\Adminscripts.
  3. Digite o seguinte comando e pressione ENTER:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  4. Para verificar se a propriedade de metabase NtAuthenticationProviders está definida para NTLM, digite o seguinte comando e pressione ENTER:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    O seguinte texto deve retornar:
    NTAuthenticationProviders       : (CADEIA_DE_CARACTERES) "NTLM"

Situação

Este é o comportamento padrão do produto.

Mais Informações

Se você definir o SPN usando apenas o FQDN do servidor que está executando o IIS, será solicitado que você informe as credenciais de usuário após 30 minutos. O tempo limite de 30 minutos ocorre devido a forma como o Internet Explorer armazena em cache as informações sobre o DNS (Sistema de Nome de Domínio). Após 30 minutos, o Internet Explorer é revertido para o nome NetBIOS. Portanto, é necessário verificar se você também registrou o SPN usando o nome NetBIOS do servidor, executando o IIS para evitar que as credenciais de usuário sejam solicitadas. Para obter mais informações, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
263558 Como o Internet Explorer usa o cache das entradas de host DNS
Para verificar os SPNs registrados para a conta de usuário na qual seu pool de aplicativos está executando, inicie um prompt de comando, digite o seguinte comando a partir do diretório em que o Setspn.exe está instalado e pressione ENTER:
setspn.exe -l UserName
Uma lista de SPNs registrados para a conta de usuário é retornada.

Serviços de Informações da Internet (IIS) 7.0

Os tópicos discutidos neste artigo podem também se aplicar ao IIS 7.0 se uma das condições a seguir for verdadeira:
  • A autenticação do modo kernel está desabilitada.
  • A autenticação de modo kernel está habilitada e o atributo useAppPoolCredentials está definido como TRUE.

Referências

Para obter informações adicionais sobre o uso de autenticação integrada do Windows com pools de aplicativos IIS, visite o seguinte site da Microsoft:
Autenticação integrada do Windows (IIS 6.0)
Para obter informações adicionais sobre as falhas de autenticação ou falhas de controle de acesso no IIS, visite o seguinte site da Microsoft:
Diagnósticos de Controle de Acesso e Autenticação Versão 1.0 (IIS 6.0)
Observação A ferramenta AuthDiag foi desenvolvida para ajudar quando uma das seguintes mensagens de erro é exibida:
  • 401.1 falha de logon
  • 401.3 ACL
A ferramenta AuthDiag também pode ajudá-lo quando você enfrentar problemas com Kerberos.
Observação: este é um artigo de ?PUBLICAÇÃO RÁPIDA? criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso para ver outras informações.

Propriedades

ID do artigo: 871179 - Última revisão: quarta-feira, 21 de agosto de 2013 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
Palavras-chave: 
kbtshoot kbprb KB871179

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