DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 871179 - Última revisão: terça-feira, 4 de Dezembro de 2007 - Revisão: 4.1

Sintomas

Quando tenta aceder a um Web site do Microsoft IIS 6.0 (Serviços de informação Internet - Internet Information Services) configurado para utilizar apenas a autenticação integrada do Windows, é-lhe pedido para fornecer as credenciais de utilizador. Quando tenta iniciar sessão, recebe novamente o pedido de início de sessão. Depois de tentar iniciar sessão três vezes, recebe a seguinte mensagem de erro:
Erro 401.1 de HTTP - Não autorizado: Acesso negado devido a credenciais inválidas.

Causa

Este comportamento poderá ocorrer caso se verifiquem as seguintes condições:
  • O Web site do IIS 6.0 faz parte de um conjunto de aplicações do IIS.
  • O conjunto de aplicações está a ser executado numa conta local ou numa conta de utilizador do domínio.
  • O Web site está configurado para utilizar apenas a autenticação integrada do Windows.
Neste cenário, quando a autenticação integrada do Windows tentar utilizar a autenticação Kerberos, esta poderá não funcionar. Para utilizar a autenticação Kerberos, é necessário que um serviço registe o nome principal de serviço (SPN, service principal name) na conta do serviço de directório do Active Directory em que o serviço está a ser executado. Por predefinição, o Active Directory regista o nome do computador de NetBIOS (network basic input/output system). O Active Directory também permite que o serviço de rede ou a conta de sistema local utilizem Kerberos.

Este artigo poderá conter hiperligações para conteúdo em inglês (ainda não traduzido).

Resolução

Se este comportamento ocorrer quando o conjunto de aplicações estiver em execução numa conta local, siga os passos da secção "Como contornar".

Para resolver este comportamento quando o conjunto de aplicações está em execução numa conta de utilizador do domínio, configure um SPN de HTTP com o nome de NetBIOS e o nome de domínio totalmente qualificado (FQDN, fully qualified domain name) da conta de utilizador do domínio em que o conjunto de aplicações está a ser executado. Para o fazer, siga estes passos num controlador de domínio:

Importante: um SPN de um serviço só pode ser associado a uma conta. Por conseguinte, se utilizar a resolução sugerida, qualquer outro conjunto de aplicações em execução numa conta de utilizador do domínio diferente não poderá ser utilizado apenas com a autenticação integrada do Windows.
  1. Instale a ferramenta Setspn.exe. Para obter a versão do Microsoft Windows 2000 da ferramenta, visite o seguinte Web site da Microsoft:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyID=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en)
    A versão do Microsoft Windows Server 2003 da ferramenta da linha de comandos Setspn.exe está disponível nas ferramentas de suporte do Windows Server 2003 incluídas no CD do Windows Server 2003. Para instalar as ferramentas, faça duplo clique no ficheiro Suptools.msi na pasta Support/Tools.
  2. Inicie uma linha de comandos e altere o directório em que instalou o Setspn.exe.
  3. Na linha de comandos, escreva os seguintes comandos. Prima ENTER após cada comando:
    setspn.exe -a http/Nome_NetBIOS_computador_IIS NomeDomínio\NomeUtilizador

    setspn.exe -a http/FQDN_computador_IIS NomeDomínio\NomeUtilizador
    Nota: NomeUtilizador é a conta de utilizador em que está a ser executado o conjunto de aplicações.
Depois de definir o SPN do serviço HTTP na conta de utilizador do domínio em que está a ser executado o conjunto de aplicações, pode aceder com êxito ao Web site sem que sejam solicitadas as credenciais de utilizador.

Como contornar

Para contornar este comportamento, caso tenha múltiplos conjuntos de aplicações em execução em diferentes contas de domínio, terá de forçar o IIS a utilizar NTLM como o mecanismo de autenticação se pretender utilizar apenas a autenticação integrada do Windows. Para o fazer, siga estes passos no servidor com o IIS:
  1. Inicie uma linha de comandos.
  2. Localize a mude para o directório que contém o ficheiro Adsutil.vbs. Por predefinição, este directório é C:\Inetpub\Adminscripts.
  3. Escreva o seguinte comando e prima ENTER:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  4. Para verificar se a propriedade de metabase NtAuthenticationProviders está definida como NTLM, escreva o seguinte comando e prima ENTER:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    Deverá ser devolvido o texto que se segue:
    NTAuthenticationProviders       : (CADEIA DE CARACTERES) "NTLM"

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Se definir o SPN utilizando apenas o FQDN do servidor com o IIS, serão solicitadas as credenciais de utilizador após 30 minutos. O tempo limite de 30 minutos ocorre devido à forma como o Internet Explorer coloca as informações do sistema de nomes do domínio (DNS, Domain Name System) em cache. Após 30 minutos, o Internet Explorer reverte para o nome de NetBIOS. Por conseguinte, tem de certificar-se de que também regista o SPN utilizando o nome de NetBIOS do servidor com o IIS para evitar que sejam solicitadas as credenciais de utilizador. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
263558  (http://support.microsoft.com/kb/263558/ ) How Internet Explorer uses the cache for DNS host entries
Para verificar os SPNs registados da conta de utilizador em que está a ser executado o conjunto de aplicações, inicie uma linha de comandos, escreva o seguinte comando a partir do directório em que Setspn.exe está instalado e prima ENTER:
setspn.exe -l NomeUtilizador
É devolvida uma lista de SPNs registados da conta de utilizador.

Referências

Para obter informações adicionais sobre como utilizar a autenticação integrada do Windows com conjuntos de aplicações do IIS, consulte a secção "Worker Process Identity Restrictions with Kerberos" do seguinte Web site da Microsoft:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx (http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/523ae943-5e6a-4200-9103-9808baa00157.mspx)
Para obter informações adicionais sobre falhas de autenticação ou falhas de controlo de acesso no IIS, pode transferir o Authentication and Access Control Diagnostics 1.0. O ficheiro que se segue está disponível para transferência a partir do centro de transferências da Microsoft:
http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en (http://www.microsoft.com/downloads/details.aspx?FamilyId=E90FE777-4A21-4066-BD22-B931F7572E9A&displaylang=en)
Nota: a ferramenta AuthDiag foi concebida para o ajudar quando visualizar as seguintes mensagens de erro:
  • 401.1 o início de sessão falhou
  • 401.3 ACL
A ferramenta AuthDiag também pode ajudá-lo quando detectar problemas de Kerberos.

A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbtshoot kbprb KB871179
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft