sql >> Base de Datos >  >> RDS >> Sqlserver

¿Por qué Entity Framework con autenticación de Windows no pasa mis credenciales a SQL Server?

Uno de los chicos del servidor en el trabajo me indicó este enlace que es una referencia útil:http://msdn.microsoft.com/en-us/library/bsz5788z%28v=vs.100%29.aspx

Él y otros me disuadieron de usar la autenticación de Windows. Una de las razones era que tendría que agregar cada nuevo usuario como una cuenta a la base de datos y podría volverse muy engorroso con una gran base de usuarios. Además, en nuestro entorno donde tenemos el potencial de usuarios que provienen de diferentes dominios de inicio de sesión, entonces entran en juego los problemas de tener las confianzas correctas y las rutas de autenticación entre dominios.

Así que dejé de intentar usar la autenticación de Windows para conectarme a la base de datos y creé una sola cuenta de inicio de sesión en la base de datos para que la use EF en la aplicación MVC (desde el servidor web hasta el servidor de la base de datos). Funciona muy bien de esta manera, sin embargo, tendré que configurar algún tipo de tabla de base de datos para rastrear y autorizar qué usuarios tienen acceso de lectura/escritura a los datos principales frente a todos los usuarios de solo lectura (que no estarán en ese tabla).

Mi cadena de conexión cambió para tener esta cadena de conexión:

<add name="ReclosingContext" connectionString="Data Source=sqlserverbox\devtest;Initial Catalog=Reclosing;Integrated Security=False;User ID=xxxxxxxx;Password=xxxxxxxxx;MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />

Pensé que Windows Authentication\Integrated Security simplificaría y mejoraría las cosas para los usuarios en toda la aplicación, pero descubrí que, en nuestro entorno, es mejor no usarlo para la conexión de SQL Server.