2009-06-25 23 views
5

Tengo 2 servidores configurados en este momento. Uno es un servidor web que ejecuta Win Server 08 y el otro es un servidor de base de datos que ejecuta SQL Server 08 en Win Server 08.cadena de conexión para servidor de base de datos remota

Actualmente tengo la configuración de mi sitio para que pueda leer/escribir en la base de datos utilizando una cadena de conexión Creé con el nombre de la base de datos, servidor ip, db usuario y db pwd. El usuario de db que he creado tiene una configuración de función 'pública' en la base de datos (no el propietario de db) y solo puede ejecutar los procedimientos almacenados de exec. Mi la cadena de conexión actualmente se ve así:

<add name="SiteDBConn" connectionString="Server=IPOfServer;Database=DBname;User ID=userhere;Password=passhere;"/> 

Mientras que esto está funcionando perfectamente para mí, me gustaría configurar una cadena de conexión de base de datos que no contiene ningún nombre de usuario y contraseña. En algunos de mis otros servidores, donde el servidor SQL reside en el mismo servidor que los archivos web, puedo usar una conexión de confianza y usar el usuario integrado 'Servicio de red' en mi base de datos. Esto me permite correr una cadena de conexión sin nombre de usuario y contraseña, así:

<add name="SiteDBConn" connectionString="Server=localhost;Database=DBname;Trusted_Connection=Yes;"/> 

¿Hay una manera fácil de conseguir una conexión a la base de datos sin codificar un nombre de usuario y contraseña - al igual que la cadena de conexión anterior - cuando se utiliza 2 diferentes servidores? ¿Estoy perdiendo el tiempo yendo por esta ruta viendo cómo el usuario de la base de datos que creé solo tiene permisos de ejecución de todos modos?

Gracias por su opinión sobre esto.

Respuesta

5

No está perdiendo el tiempo. Esta es una muy buena práctica. Cuando se separan espera de IIS y SQL en máquinas separadas, aquí hay algunas opciones:

  • crear el usuario asp.net tanto en el cuadro de IIS y el servidor SQL (preferiblemente con la misma contraseña)
  • Uso suplantación (modificar el contexto de su sitio se ejecuta bajo)
  • Cifrar una cadena de conexión en el registro un archivo de configuración y olvidarse de conexiones de confianza (brrrr)
  • cambiar el contexto de asp.net que ser un usuario de dominio
  • uso en IIS6 modo de aplicación nativa
+0

Gracias por los comentarios. En cuanto a la suplantación, ¿conoce alguna buena guía o guía para configurarla? Aclamaciones. –

+0

realmente rayar esa última pregunta. Entre su artículo y esta pregunta tengo la información que necesito. Gracias. http://stackoverflow.com/questions/982216/database-connections-work-fine-when-application-is-run-from-localhost-login-fai –

1

Si los 2 servidores no están en el mismo dominio de Windows, no puede usar la conexión confiable.

Además, el inicio de sesión debe crearse como una autenticación de Windows, no puede usar un inicio de sesión de autenticación de SQL con una conexión de confianza.

De lo contrario, todo lo que dijo Tapori.

Cuestiones relacionadas