2009-06-30 16 views
12

Tengo un servicio web que almacena datos en una base de datos local de SQL Server 2008. Si ejecuto el servicio web en mi cuenta, el servicio web puede acceder con éxito a la base de datos. Sin embargo, si uso la cuenta DefaultAppPool (IUSR), el acceso a la base de datos desde el servicio web falla.Cómo configuro SQL Server para permitir el acceso a través de IIS

¿Cómo configuro la seguridad en SQL Server para permitir el acceso a una base de datos específica a través de IIS?

El mensaje de error específico que estoy recibiendo es: Error de usuario 'IIS apppool \ DefaultAppPool'

+0

¿Cuál es la cadena de conexión en su servicio web? – Duncan

+0

Es una cadena de conexión de marco de entidad, como sigue: Calanus

+0

Para una seguridad mejorada, puede crear su servicio web en SQL Server creando un punto final HTTP. –

Respuesta

11

. Tiene dos opciones (¡obvio tal vez!):

  • En lugar de usar Window s Integrado Seguridad use SQL Autenticación en su lugar.
  • Si no puede o no quiere, entonces tiene para crear un nuevo usuario en SQL Server que se relaciona con esa cuenta de Windows.
  • O (tercera opción) puede cambiar el servicio web para que se ejecute en una cuenta que sepa que funciona.
+1

+1. De acuerdo, use algún tipo de cuenta (SQL o A.D.) que sea específica de esta aplicación solamente. Ponga esa cuenta en un rol, establezca los permisos en el rol. –

5

general corro el grupo de aplicación en una cuenta de usuario de dominio, de esa manera se controla el usuario específico para cada sitio en tu servidor

Si no puedo usar una cuenta de dominio, ejecutaré el sitio como "Servicio de red" - y el usuario que correspondería a eso en SQL sería la cuenta de la máquina (MACHINENAME $ - reemplace "machinename" con . el nombre del servidor IIS ")

Si va a utilizar el nuevo IIS 7 IIS usuarios - que no son usuarios de windows - que tendrá que utilizar la autenticación de SQL en lugar de la autenticación de windows para el acceso base de datos SQL

Cuestiones relacionadas