首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使将身份验证模式设置为“Windows”,ASP.Net MVC4 User.Identity.Name仍将变为空

即使将身份验证模式设置为“Windows”,ASP.Net MVC4 User.Identity.Name仍将变为空
EN

Stack Overflow用户
提问于 2014-07-26 13:04:54
回答 2查看 7.3K关注 0票数 4

我正在研究ASP.Net MVC-4应用程序。我必须实现windows身份验证。我在web.config文件中将身份验证模式设置为'Windows‘,如下所示。

代码语言:javascript
复制
     <system.web>
          <authentication mode="Windows" />
     </system.web>

在控制器中,我试图获得用户名如下所示。

代码语言:javascript
复制
    string userName = User.Identity.Name;

但每次我得到的都是空虚的价值。如有任何建议,请告诉我。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2014-07-26 13:35:27

Windows身份验证由IIS执行,以建立托管代码User.Identity。因此,您需要在IIS中启用,为了强制用户在访问我们的应用程序之前进行身份验证,需要禁用匿名身份验证

票数 8
EN

Stack Overflow用户

发布于 2014-07-26 13:19:50

根据给定的信息,看起来您已经正确配置了项目,但还没有对用户进行实际身份验证。

首先是一些背景。在行之间有一个关于asp.net的简化教程,其中提到以下语句:

默认情况下,将执行当前ASP.NET帐户上下文中的所有页面(您用来登录到的任何帐户)。

这意味着当您使用F5运行项目时,它将执行当前登录用户帐户下的所有内容。但是,还没有为应用程序进行身份验证,也还没有为User.Identity.*设置身份验证。

为了验证是否是这样,您应该在第一个控制器(或动作)上添加[Authorize]属性,这是在您的ASP.NET MVC项目中调用的。很可能会遇到"HTTP 401.0 -未经授权“的异常。在这种情况下,您应该允许您的you服务器首先进行身份验证。上面提到的教程将帮助您进行此操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24971287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档