C# 如何在ASP.NET MVC3中使用受信任连接连接到数据库?
我有一个ASP.NET MVC3应用程序,它使用Windows身份验证和SqlRoleManager提供程序。我正在尝试连接到具有集成安全性的数据库。数据库团队要求授权每个用户使用Windows身份验证而不是可用于web应用程序的简单用户名和密码来使用数据库。我使用了下面的代码,发现负责人实际上是应用程序池用户。如何将会话附加到当前windows用户?这可能吗C# 如何在ASP.NET MVC3中使用受信任连接连接到数据库?,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我有一个ASP.NET MVC3应用程序,它使用Windows身份验证和SqlRoleManager提供程序。我正在尝试连接到具有集成安全性的数据库。数据库团队要求授权每个用户使用Windows身份验证而不是可用于web应用程序的简单用户名和密码来使用数据库。我使用了下面的代码,发现负责人实际上是应用程序池用户。如何将会话附加到当前windows用户?这可能吗 WindowsIdentity identity = WindowsIdentity.GetCurrent(); Response.Wr
WindowsIdentity identity = WindowsIdentity.GetCurrent();
Response.Write(identity.Name);
有些事情可以尝试:
- 通过标识.config节点在.config中启用模拟
- 通过WindowsImpersonationContext在数据库访问周围的代码中执行模拟(从未尝试过-慢?)
- 检查Context.User.Identity.Name(不确定这是否完全满足您的需要)
关于这一点,我们在msdn上有一个帖子
是否正在更改运行应用程序池的用户而不是选项?我只是在web.config中将模拟设置为true,现在我遇到了另一个错误:不支持NTLM身份验证令牌来自Adam的链接对NTLM令牌问题有很好的指导。