2011-04-26 12 views
5

Me preguntaba cuando usar el modo Autenticación de Windows en una cadena de conexión desde una aplicación web. La aplicación en sí utiliza la Autenticación de Windows para la autorización. Qué cuenta se usará para iniciar sesión en SQL Server.Modo de Autenticación Integrada del Servidor SQL

¿No es la cuenta del grupo de aplicaciones web? Cuenta de usuario que inició sesión en la aplicación web con la autenticación de Windows? ¿Alguna otra cuenta?

La aplicación se ejecuta en Win Ser 2008 de 64 bits e IIS 7. La cuenta del grupo de aplicaciones es el Servicio de red.

+0

modo "Integrado"? Todo lo que sabía era de Windows, los inicios de sesión de SQL Server y el modo mixto (admite inicios de sesión de Windows y SQL Server). –

+3

Será la cuenta que ejecuta el código ASP.NET, p. la cuenta de los pools de aplicaciones (algo así como 'ASPNET' o' IUSR_ (machinename) ') –

+0

@OMG Ponies: Si alguna vez usó SqlConnection.ConnectionString, sabría que" Integrated Security "es una de las palabras clave que le permite especificar el modo de conexión. En su comentario se refiere al modo de autenticación del servidor Sql. OP se refiere al modo de conexión, estas son cosas diferentes. Y sí, "Integrated Security = true" significa el modo de Autenticación de Windows. –

Respuesta

0

Es el usuario del grupo de aplicaciones que se conecta a la base de datos, si ha especificado Seguridad integrada en su cadena de conexión.

6

Depende de cómo lo configure. De http://msdn.microsoft.com/en-us/library/ms998292.aspx y http://msdn.microsoft.com/en-us/library/bsz5788z.aspx ...

aplicaciones ASP.NET no hacerse pasar por defecto. Como resultado, cuando usan la autenticación de Windows para conectarse a SQL Server, usan la identidad de proceso de la aplicación web. Con este enfoque, su aplicación web front-end autentica y autoriza a sus usuarios y luego utiliza una identidad confiable para acceder a la base de datos. La base de datos confía en la identidad de la aplicación y confía en que la aplicación autentique y autorice correctamente a las personas que llaman. Este enfoque se conoce como el modelo de subsistema de confianza.

El modelo alternativo denominado modelo de suplantación/delegación utiliza la identidad de Windows del llamante original para acceder a la base de datos. Este enfoque requiere que su aplicación ASP.NET esté configurada para usar suplantación. Consulte la sección "Suplantación/delegación frente a subsistema de confianza" en este documento.

Así que dependiendo de cómo se haya configurado, puede utilizar la cuenta del grupo de aplicaciones (no cuando no se utiliza la suplantación) o la cuenta del usuario conectado que está utilizando la aplicación web (cuando se utiliza la suplantación) .

Consulte http://msdn.microsoft.com/en-us/library/134ec8tc.aspx para obtener información sobre suplantación.

0

El problema que estaba teniendo era que mi cuenta del grupo de aplicaciones en SQL Server debía establecerse en la función db_owner antes de que funcionara. Pasé mucho tiempo tratando de resolver esto.

Estaba usando Windows Authentication, Windows 7 home premium e IIS, todo en la misma computadora. Estoy publicando esto en caso de que alguien más se encuentre con un problema similar. El libro que utilicé no decía usar db_owner sino las cuentas de lector y escritor en su lugar.

Cuestiones relacionadas