ver usuario sirve saber quitar que por para error entre diferencia defecto crear contraseña como autenticación autenticacion sql-server asp.net-mvc authentication iis kerberos

sql server - sirve - Hacer que IIS suplante al usuario de Windows con el servidor SQL en un entorno de intranet



quitar autenticación de windows en sql server (1)

Estoy desarrollando un sitio de intranet usando C # y ASP.NET MVC. Tengo SQL Server en una máquina e IIS ejecutándose en otra máquina. Me gustaría que un usuario visite el sitio de Intranet y, sin pedirle al usuario, el explorador de Internet envía las credenciales de usuario a IIS y éstas se pasan al servidor SQL, lo que significa que el servidor SQL puede ver al usuario acceder a la base de datos.

Soy consciente del problema del doble salto de Kerberos y es esto lo que trato de evitar. En este momento puedo hacer que IE pase las credenciales de Windows a IIS y autentique bien. Simplemente no puedo hacer que IIS pase esas credenciales a SQL Server y, en su lugar, la solicitud se ejecuta actualmente bajo la identidad del grupo de aplicaciones que está configurada en una cuenta de servicio de dominio "htu / srv-htu-iis".

Mi configuración es la siguiente:

Web.Config

<system.web> <authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization> <identity impersonate="true" /> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> </system.webServer>

Cadena de conexión

connection string=&quot;data source=hturesbsqlp01;initial catalog=R2_Dev;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"

Configuración de autenticación de IIS

Anonymous Authentication = Disabled ASP.NET Impersonation = Enabled Forms Authentication = Disabled Windows Authentication = Enabled

Configuración del conjunto de aplicaciones de IIS

Managed Pipeline = Integrated Identity = htu/srv-htu-iis (domain service account)

Configuraciones de Active Directory

La cuenta de servicio de dominio htu / srv-htu-iis tiene un conjunto de nombre principal de servicio que asocia nuestro sitio con la cuenta.

El directorio activo tiene

Allow Delagation to any service

SQL Server se ejecuta bajo su propia cuenta de servicio de dominio SQL.

Pruebas

Ejecuté las siguientes pruebas de código:

System.Web.HttpContext.Current.User.Identity.Name

esto devuelve correctamente las credenciales de Windows del usuario que accede al sitio

System.Security.Principal.WindowsIdentity.GetCurrent().Name

devuelva la cuenta de servicio de dominio "htu / srv-htu-iis", que es con lo que se ejecuta la identidad del grupo de aplicaciones.

¿Alguien puede dar indicaciones sobre dónde podría estar yendo mal?


Bien a cualquiera que visite esta pregunta en el futuro. Resolví esto reiniciando el servicio de IIS ... ¡doh! ¡Parece que mi configuración estaba bien, solo necesito un reinicio completo del servicio!