繁体   English   中英

如何在ASP.NET MVC3中使用可信连接连接到数据库?

[英]How to connect to a database with trusted connection in ASP.NET MVC3?

我有一个使用Windows身份验证和SqlRoleManager提供程序的ASP.NET MVC3应用程序。 我正在尝试连接到具有集成安全性的数据库。 数据库团队要求授权每个用户使用Windows身份验证而不是可用于Web应用程序的简单用户名和密码来使用数据库。 我使用下面的代码,发现主体实际上是应用程序池用户。 如何将会话附加到当前的Windows用户? 这甚至可能吗?

WindowsIdentity identity = WindowsIdentity.GetCurrent();
Response.Write(identity.Name);

有些事要尝试:

  • 通过identity .config节点打开.config中的模拟
  • 通过WindowsImpersonationContext在db访问的代码中执行模拟(从未尝试过 - 慢?)
  • 通过Context.User.Identity.Name(不确定这是否能完全满足您的需求)。

此问题类似。

摘自MSDN文章

Context.User.Identity.Name属性返回经过身份验证的用户的标识。 当应用程序在IIS 7中运行并且禁用模拟时,Environment.UserName属性将返回运行Web应用程序的应用程序池的标识。例如,如果网站在默认应用程序池中运行,则名称显示DefaultAppPool。 如果使用ASP.NET v4.0应用程序池,则会显示ASP.NET v4.0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM