Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Pourquoi Entity Framework avec authentification Windows ne transmet-il pas mes informations d'identification à SQL Server ?

L'un des serveurs au travail m'a indiqué ce lien qui est une référence utile :http://msdn.microsoft.com/en-us/library/bsz5788z%28v=vs.100%29.aspx

Lui et d'autres m'ont découragé d'utiliser l'authentification Windows. L'une des raisons était que je commencerais à devoir ajouter chaque nouvel utilisateur en tant que compte à la base de données et cela pourrait devenir très lourd avec une large base d'utilisateurs. De plus, dans notre environnement où nous avons le potentiel pour que les utilisateurs viennent de différents domaines de connexion, les problèmes liés à la bonne approbation et aux bons chemins d'authentification entre les domaines entrent en jeu.

J'ai donc cessé d'essayer d'utiliser l'authentification Windows pour me connecter à la base de données et j'ai créé un seul compte de connexion dans la base de données pour EF dans l'application MVC à utiliser (du serveur Web au serveur de base de données). Cela fonctionne très bien de cette façon, cependant, je devrai configurer une sorte de table de base de données pour suivre et autoriser quels utilisateurs ont un accès en lecture/écriture aux données principales par rapport à tous les utilisateurs en lecture seule (qui ne seront pas dans ce tableau).

Ma chaîne de connexion a changé pour avoir cette chaîne de connexion :

<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" />

Je pensais que Windows Authentication\Integrated Security rendrait les choses plus simples et meilleures pour les utilisateurs pour l'ensemble de l'application, mais j'ai trouvé que dans notre environnement, il est préférable de ne pas l'utiliser pour la connexion SQL Server.