我有一个使用 EntityFramework 4 连接到后端数据库的 MVC 4 应用程序。我正在尝试使用受信任的连接,这样只要查看网页的用户有权访问数据库,我就希望使用他们的 Windows 帐户进行连接。我搜索了解决方案,并将以下内容放在了我的 web.config 中:
<system.web>
<authentication mode="Windows"/>
<identity impersonate="true"/>
...
我的连接设置如下:
<add name="MyDbEntities" connectionString="metadata=res://*/MyDbEntities.csdl|res://*/MyDbEntities.ssdl|res://*/MyDbEntities.msl;provider=System.Data.SqlClient;provider connection string="data source=MyServer;initial catalog=MyDb;integrated security=True;Trusted_Connection=True;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
我也玩过模拟和委托,但到目前为止,我无法克服错误:
Login failed for user ''. The user is not associated with a trusted SQL Server connection.
我见过的所有解决方案都建议在托管服务器上修改 IIS,但我无法在我们的 QA 或生产环境中这样做。所以我试图找到一个只使用代码的解决方案,或者我可以在 JavaScript 中做的事情,或者在控制器中,或者底层业务或数据层。
提前感谢您的任何建议!