Recibe el mensaje de error ""HTTP Error 401.1 - No autorizado: se niega el acceso porque las credenciales no son válidas" cuando intenta el acceso a un sitio web que forma parte de un grupo de aplicaciones de IIS 6.0

Seleccione idioma Seleccione idioma
Id. de artículo: 871179 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Al intentar obtener acceso a un sitio Web de Servicios de Microsoft Internet Information 6.0 (IIS) que se ha configurado para que utilice únicamente la autenticación de Windows integrada, le solicitan sus credenciales de usuario. Al intentar iniciar sesión, aparece de nuevo el mismo indicador. Después de intentar iniciar sesión tres veces, aparecerá el mensaje de error siguiente:
HTTP Error 401.1 - No autorizado: se niega el acceso porque las credenciales no son válidas.

Causa

Este comportamiento puede producirse si se cumplen las condiciones siguientes:
  • El sitio Web de IIS 6.0 forma parte de un grupo de aplicaciones de IIS.
  • El grupo de aplicaciones se está ejecutando bajo una cuenta local o bajo una cuenta de usuario de dominio.
  • El sitio Web se ha configurado para que utilice exclusivamente la autenticación de Windows integrada.
En esta situación, cuando la autenticación integrada de Windows intenta utilizar Kerberos, la autenticación de Kerberos no puede funcionar. Para utilizar la autenticación Kerberos, un servicio debe registrar su nombre principal de servicio (SPN) bajo la cuenta del servicio de directorio de Active Directory en la que se está ejecutando dicho servicio. De forma predeterminada, Active Directory registra el nombre de equipo del sistema básico de entrada y salida (NetBIOS) de la red. Active Directory permite también que la cuenta del sistema local o el servicio de red utilicen Kerberos.

Solución

Si este comportamiento se produce cuando el grupo de aplicaciones se está ejecutando bajo una cuenta local, siga los pasos que se indican en el apartado "Solución temporal".

Para resolver este comportamiento cuando el grupo de aplicaciones se ejecuta bajo una cuenta de usuario de dominio, debe definir un SPN HTTP con el nombre NetBIOS y el nombre de dominio completo (FQDN) de la cuenta de usuario de dominio bajo la que se ejecuta el grupo de aplicaciones. Para ello, siga estos pasos en un controlador de dominio:

Importante: Un SPN de un servicio sólo puede asociarse a una cuenta. Por tanto, si utiliza la solución sugerida, cualquier otro grupo de aplicaciones que se esté ejecutando bajo una cuenta de usuario de dominio diferente no podrá utilizarse únicamente con la autenticación de Windows integrada.
  1. Instale la herramienta Setspn.exe. Para obtener la herramienta Setspn.exe para Microsoft Windows Server 2003, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    970536 Actualización para la herramienta de soporte técnico Setspn.exe para Windows Server 2003
  2. Inicie un símbolo del sistema y, a continuación, vaya al directorio en el que instaló Setspn.exe.
  3. En el símbolo del sistema, escriba los comandos siguientes. Presione ENTRAR después de cada comando:
    setspn.exe -S http/nombre_NetBIOS_equipo_IISNombreDominio\NombreUsuario

    setspn.exe -S http/NombreCompleto_equipo_IISNombreDominio\NombreUsuario
    Nota: NombreUsuario es la cuenta de usuario en la que se ejecuta el grupo de aplicaciones. Tenga en cuenta también que si está ejecutando el comando setspn.exe en un equipo con Windows 2000, tiene que utilizar el modificador -A en lugar de -S.
Después de establecer el SPN del servicio HTTP en la cuenta de usuario de dominio bajo la que se está ejecutando el grupo de aplicaciones, podrá iniciar sesión correctamente en el sitio Web sin que le soliciten sus credenciales de usuario.

Solución

Para evitar esta incidencia en caso de que haya varios grupos de aplicaciones ejecutándose bajo diferentes cuentas de usuario de dominio, debe hacer que IIS utilice NTLM como mecanismo de autenticación si únicamente desea utilizar la autenticación de Windows integrada. Para ello, siga estos pasos en el servidor en el que se está ejecutando IIS:
  1. Inicie un símbolo del sistema.
  2. Localice y especifique el directorio que contiene el archivo Adsutil.vbs. De forma predeterminada, este directorio es C:\Inetpub\Adminscripts.
  3. Escriba el comando siguiente y, a continuación, presione ENTRAR:
    cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  4. Para asegurarse de que la propiedad NtAuthenticationProviders de la metabase está establecida en NTLM, escriba el comando siguiente y presione ENTRAR a continuación:
    cscript adsutil.vbs get w3svc/NTAuthenticationProviders
    El resultado devuelto debería ser el siguiente texto:
    NTAuthenticationProviders       : (STRING) "NTLM"

Estado

Este comportamiento es una característica del diseño de la aplicación.

Más información

Si establece el SPN utilizando únicamente el FQDN del servidor que está ejecutando IIS, se le pedirán sus credenciales de usuario después de 30 minutos. Este tiempo de espera de 30 minutos se debe al modo en que Internet Explorer almacena en la caché la información del Sistema de nombres de dominio (DNS). Después de 30 minutos, Internet Explorer revierte al nombre NetBIOS. Por consiguiente, debe asegurarse de que también registra el SPN utilizando el nombre NetBIOS del servidor que está ejecutando IIS para evitar que le pidan sus credenciales de usuario. Para obtener más información al respecto, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
263558 Cómo utiliza Internet Explorer la caché para entradas de host DNS
Para comprobar los SPN registrados para la cuenta de usuario bajo la que se ejecuta el grupo de aplicaciones, inicie un símbolo del sistema, escriba el siguiente comando desde el directorio en el que está instalado Setspn.exe y, a continuación, presione ENTRAR:
setspn.exe -l NombreUsuario
Se mostrará una lista de los SPN registrados para la cuenta de usuario.

Internet Information Services (IIS) 7.0

Los temas tratados en este artículo se pueden aplicar también a IIS 7.0 si se cumple alguna de las condiciones siguientes:
  • La autenticación de modo kernel está deshabilitada.
  • La autenticación de modo kernel está habilitara, y el atributo useAppPoolCredentials está establecido en TRUE.

Referencias

Para obtener más información acerca del uso de la autenticación de Windows integrada con grupos de aplicaciones de IIS, visite el siguiente sitio web de Microsoft:
Autenticación integrada de Windows (IIS 6.0)
Para obtener más información acerca de los errores en la autenticación en el control de acceso, visite el siguiente sitio web de Microsoft:
Authentication and Access Control Diagnostics Version 1.0 (IIS 6.0)
Nota: la herramienta AuthDiag está diseñada para ayudarle cuando aparece alguno de los mensajes de error siguientes:
  • 401.1 - Error de inicio de sesión.
  • 401.3 ACL
La herramienta AuthDiag también puede ayudarle cuando experimente problemas relacionados con Kerberos.
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso para otras consideraciones

Propiedades

Id. de artículo: 871179 - Última revisión: martes, 04 de febrero de 2014 - Versión: 1.0
La información de este artículo se refiere a:
  • Servicios de Microsoft Internet Information Server 6.0
  • Microsoft Internet Information Services 7.0
Palabras clave: 
kbtshoot kbprb KB871179

Enviar comentarios

 

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