Pregunta

Tengo un sitio web que funciona correctamente bajo IIS 6.0:Autentica a los usuarios con credenciales de Windows y luego, cuando habla con el servicio que llega a la base de datos, pasa las credenciales.

En IIS 7.0, las mismas configuraciones no pasan las credenciales y la base de datos recibe NT AUTHORITY\ANONYMOUS.

¿Se me escapa algo?Desactivé el acceso ANÓNIMO en mi sitio web IIS 7.0, pero no puedo hacer que funcione.

Estas son las configuraciones que estoy usando tanto en IIS 6.0 como en 7.0:

<authentication mode="Windows">
<identity impersonate="true">

¿Qué cambió de 6.0 a 7.0?

¿Fue útil?

Solución

Ha habido cambios entre IIS7 e IIS6.0.Encontré para ti una publicación de blog que realmente podría ayudarte (Haz click aquí para verlo).

¿Está ejecutando su aplicación en modo integrado o en modo clásico?Por lo que vi, poner el atributo Suplantar en verdadero debería mostrar un error 500 con el siguiente mensaje de error:

Error Interno del Servidor.Este es el error HTTP 500.19:No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos.

Aquí está la solución alternativa que se propone:

Solución alterna:

1) Si su aplicación no se basa en hacerse pasar por el usuario solicitante en las etapas BeginRequest y AuthenticateRequest (las únicas etapas en las que la suplantación no es posible en modo integrado), ignore este error agregando lo siguiente a la web.config:

<validation validateIntegratedModeConfiguration="false"

/>

2) Si su aplicación se basa en la suplantación en BeginRequest y AuthenticateRequest, o no está seguro, se mueva al modo clásico.

Esperaba que fuera útil para comprender cómo funciona ahora IIS 7.0.

Otros consejos

¿Su servidor IIS está configurado para que SQLServer confíe en su delegación?Me encontré con esto antes con WebDAV, donde tuvimos que hacer que el servidor de archivos confiara en el servidor que ejecuta IIS para autenticarse en nombre del servidor de archivos.

Interesante...Tengo el problema opuesto - No ser capaz para que la autenticación pase desde el navegador del cliente, a través del servidor web y a la base de datos dentro de una gran red corporativa a través de firewalls.

También creo que la autenticación de "usuario de un extremo a otro" en la base de datos es una mala idea y un riesgo potencial para la seguridad.No hay nada que impida que el usuario final cargue SQL Query y se conecte directamente a su base de datos, por lo que será mejor que tenga su esquema bloqueado.

@Esteban - Aclaré mi no es muy útil para ayudarte respuesta.

Normalmente, si realiza una autenticación de doble salto como esta, Kerberos suele estar involucrado, a menos que la primera autenticación sea Básica.

Verificaría la autenticación en los servidores IIS 6 y me aseguraría de que sea la misma en IIS 7.

Si la casilla IIS 6 está configurada en Windows Integrado, entonces necesita verificar la configuración de Kerberos: SPN, delegación, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top