
Juro que creé una pregunta sobre esto hace unas semanas, pero tal vez la eliminé porque no puedo ubicarla en ninguna parte.
- ASP.NET 4.0
- IIS6
- Servidor Windows 2003
- Sitio de intranet que utiliza autenticación de Windows
- Tres servidores con la misma versión de sistema operativo e IIS, cada uno con una versión de desarrollo, producción y recuperación ante desastres (DR) del mismo sitio web.
Ahora considere este orden de eventos:
- El usuario comienza con IE8 y cualquier versión de FF y Chrome
- El usuario solo puede acceder al sitio de DR. El mensaje de inicio de sesión se niega a autenticarlos con sus credenciales de Windows para los otros sitios, por lo que no pueden iniciar sesión
- Instalaron una copia nueva de Windows 7 y actualizaron a IE9. Ahora pueden acceder a los sitios de desarrollo y DR en IE9. Pueden acceder a los tres sitios en Chrome.
Verifiqué lo siguiente en la configuración de Internet:
- Inicio de sesión automático con nombre de usuario y contraseña actuales
- Habilitar la autenticación integrada de Windows
Me encontré con esto en MSKB: http://support.microsoft.com/kb/215383
La propiedad de la metabase NTAuthenticationProviders no está definida, por lo que IIS debería usarse Negotiate,NTLM
de forma predeterminada.
Otros detalles:
- Esto empezó a suceder hace sólo unas semanas. El usuario pudo acceder a nuestro sitio sin problemas con IE8.
- Ningún otro usuario tiene este problema.
¿Alguien sabe qué podría estar causando que su navegador no envíe la información de autenticación al servidor? Aquí hay una captura de pantalla de la ventana de autenticación que ve el usuario:
Detalles adicionales
Esto es lo que se muestra en el visor de eventos de seguridad para este usuario. Borré información confidencial con ?
.
Tipo de evento: Auditoría de éxito Fuente del evento: seguridad Categoría de evento: inicio/cierre de sesión ID de evento: 538 Fecha: 14/07/2014 Hora: 13:27:37 Usuario: ?\? Computadora: ? Descripción: Cierre de sesión del usuario: Nombre de usuario: ? Dominio: ? ID de inicio de sesión: (0x0,0x3F99497F) Tipo de inicio de sesión: 3 Tipo de evento: Auditoría de éxito Fuente del evento: seguridad Categoría de evento: inicio/cierre de sesión ID de evento: 540 Fecha: 14/07/2014 Hora: 13:27:14 Usuario: ?\? Computadora: ? Descripción: Inicio de sesión exitoso en la red: Nombre de usuario: ? Dominio: ? ID de inicio de sesión: (0x0,0x3F997233) Tipo de inicio de sesión: 3 Proceso de inicio de sesión: NtLmSsp Paquete de autenticación: NTLM Nombre de la estación de trabajo: ? GUID de inicio de sesión: - Nombre de usuario de la persona que llama: - Dominio de la persona que llama: - Identificador de inicio de sesión de la persona que llama: - Identificación del proceso de llamada: - Servicios en tránsito: - Dirección de red de origen: ? Puerto de origen: 16220
Respuesta1
La habilitación de la identificación NTLM automática se realiza de la siguiente manera.
explorador de Internet
- Desde IE, acceda a la configuración de Internet a través de "IE -> Herramientas -> Opciones de Internet" o mediante Panel de control -> Opciones de Internet
- Vaya a la pestaña Seguridad
- Haga clic en Sitios
- Haga clic en Intranet local o Sitios de confianza
- Añade tus sitios a la lista
- Si es necesario, desmarque "Requerir verificación del servidor (https:) para todos los sitios en esta zona".
- Haga clic en Cerrar
- Haga clic en Nivel personalizado
- Desplácese hasta la parte inferior en Autenticación de usuario/Inicio de sesión y asegúrese de que esté marcado "Inicio de sesión automático con nombre de usuario y contraseña actuales".
- Haga clic en Aceptar
Google Chrome
Google Chrome en realidad usa la misma configuración que usa IE, es decir, el Panel de control anterior -> Configuración de Opciones de Internet, así que no hay nada más que hacer.
Firefox
- Abra Firefox y escriba "about:config" en la barra de direcciones (sin las comillas)
- En el campo 'Filtro' escriba
network.automatic-ntlm-auth.trusted-uris
- Haga doble clic en lo anterior e ingrese las URL de sitios o dominios completos, separados por comas
- Si sus sitios no utilizan FQDN (por ejemplo,
http://intranet
en lugar dehttp://intranet.domain.com
), haga también lo siguiente:- Establecer
network.automatic-ntlm-auth.allow-non-fqdn
en verdadero - Establecer
network.negotiate-auth.allow-non-fqdn
en verdadero
- Establecer