Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Por que o Entity Framework com autenticação do Windows não passa minhas credenciais para o SQL Server?


Um dos caras do servidor no trabalho me indicou este link que é uma referência útil:http://msdn.microsoft.com/en-us/library/bsz5788z%28v=vs.100%29.aspx

Ele e outros me desencorajaram de usar a autenticação do Windows. Uma razão era que eu começaria a ter que adicionar cada novo usuário como uma conta ao banco de dados e isso poderia se tornar muito complicado com uma grande base de usuários. Além disso, em nosso ambiente, onde temos o potencial para usuários provenientes de diferentes domínios de login, os problemas de ter as relações de confiança e os caminhos de autenticação corretos entre os domínios entram em jogo.

Então parei de tentar usar a autenticação do Windows para me conectar ao banco de dados e criei uma única conta de logon no banco de dados para o EF no aplicativo MVC usar (do servidor da Web para o servidor de banco de dados). Funciona muito bem dessa maneira, no entanto, terei que configurar algum tipo de tabela de banco de dados para rastrear e autorizar quais usuários têm acesso de leitura/gravação aos dados principais versus todos os usuários somente leitura (que não estarão nesse tabela).

Minha string de conexão foi alterada para ter esta string de conexão:
<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" />

Achei que Autenticação do Windows\Segurança Integrada tornaria as coisas mais simples e melhores para os usuários de todo o aplicativo, mas descobri que, em nosso ambiente, é melhor não usá-lo para a conexão do SQL Server.