asp.net-mvc - 使用 EntityFramework 将浏览用户的凭据传递到 MVC 4 应用程序中的数据库连接

标签 asp.net-mvc entity-framework asp.net-mvc-4 impersonation

我有一个 MVC 4 应用程序,它使用 EntityFramework 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=&quot;data source=MyServer;initial catalog=MyDb;integrated security=True;Trusted_Connection=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我也尝试过模拟和委托(delegate),但到目前为止,我无法克服错误:

Login failed for user ''. The user is not associated with a trusted SQL Server connection.

我见过的所有解决方案都建议修改托管服务器上的 IIS,但我无法在我们的 QA 或生产环境中执行此操作。因此,我试图找到一种仅使用代码的解决方案,无论是我可以在 JavaScript 中执行的操作,还是在 Controller 中执行的操作,或者在底层业务或数据层中执行的操作。

预先感谢您的任何建议!

最佳答案

你好,我相信这个答案可以在几个小时内提供一些指导,我可能能够仔细检查它。

Impersonating user with Entity Framework

希望这有帮助!

关于asp.net-mvc - 使用 EntityFramework 将浏览用户的凭据传递到 MVC 4 应用程序中的数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252689/

相关文章:

c# - ValueProvider 不包含 TryGetValue 的定义

c# - Entity Framework 类问题中的两个相同类类型

c# - 使用 jQuery Ajax 将对象列表传递给 ActionResult MVC Controller 方法

c# - 在单独的程序集中启用带有上下文的迁移?

asp.net - 在 MVC 5 ASP 的客户端添加项目以选择列表

javascript - 在 MVC View 中使用 Knockout 多次生成并跟踪相同的模板?

c# - 如果另一个绝对位置已经在该位置,是否可以移动绝对位置?

sql-server - 如何让 Entity Framework 1.0 在访问特定实体时使用 nolock 提示

c# - 只通过存储过程查询数据库是不是一种好方法?

c# - 将 UTC 时间字符串反序列化为本地时间