¿Suena esto como su escenario?
- Aplicación web de IIS creada en una máquina local
- La aplicación web utiliza la autenticación de Windows
- La aplicación web se comunica con la base de datos también en la máquina local
- Los usuarios de la aplicación web también tienen inicios de sesión válidos en la base de datos
- Las credenciales de los usuarios de la aplicación web se pasan a la base de datos a través de una conexión confiable
Todo funciona muy bien. ¿Luego lo mueve a un entorno diferente donde la base de datos e IIS ya no están en el mismo servidor y luego no puede hacer que la base de datos reconozca las credenciales que IIS está pasando?
Si es así, entonces bienvenido a mi infierno de hace unos meses. El problema es que una vez que los dos procesos no están en la misma caja, ya no confían entre sí. Se requieren permisos de administración de red para que los dos procesos confíen entre sí más allá de los límites del servidor. Desafortunadamente, no publiqué un blog al respecto, pero los pasos generales fueron
- marcar la cuenta de servicio de IIS como confiable (configuración del directorio activo)
- establezca el nombre principal del servicio (SPN) en el nombre de netbios o FQDN
- algo tenía que configurarse en ambos cuadros para indicar que podían confiar el uno en el otro
Perdón por el vago recuerdo y como no era yo quien tenía credenciales para arreglar nada, solo pude observarlos haciendo clic en los botones. El artículo inicial sobre Cómo conectarse a SQL Server mediante la autenticación de Windows nos llevó bastante lejos por la pista.