我正在研究ASP.Net MVC-4应用程序。我必须实现windows身份验证。我在web.config文件中将身份验证模式设置为'Windows‘,如下所示。
<system.web>
<authentication mode="Windows" />
</system.web>在控制器中,我试图获得用户名如下所示。
string userName = User.Identity.Name;但每次我得到的都是空虚的价值。如有任何建议,请告诉我。提前谢谢。
发布于 2014-07-26 13:35:27
Windows身份验证由IIS执行,以建立托管代码User.Identity。因此,您需要在IIS中启用,为了强制用户在访问我们的应用程序之前进行身份验证,需要禁用匿名身份验证

发布于 2014-07-26 13:19:50
根据给定的信息,看起来您已经正确配置了项目,但还没有对用户进行实际身份验证。
首先是一些背景。在行之间有一个关于asp.net的简化教程,其中提到以下语句:
默认情况下,将执行当前ASP.NET帐户上下文中的所有页面(您用来登录到的任何帐户)。
这意味着当您使用F5运行项目时,它将执行当前登录用户帐户下的所有内容。但是,还没有为应用程序进行身份验证,也还没有为User.Identity.*设置身份验证。
为了验证是否是这样,您应该在第一个控制器(或动作)上添加[Authorize]属性,这是在您的ASP.NET MVC项目中调用的。很可能会遇到"HTTP 401.0 -未经授权“的异常。在这种情况下,您应该允许您的you服务器首先进行身份验证。上面提到的教程将帮助您进行此操作。
https://stackoverflow.com/questions/24971287
复制相似问题