已部署应用程序中的HttpContext.User.Identity.Name

时间:2012-04-06 14:56:46

标签: c# asp.net iis asp.net-mvc-2 authentication

对于ASP.NET MVC 2应用程序,我们使用HttpContext.User.Identity.Name获取用户名以进行身份​​验证。这在测试时工作正常。数据库中的用户可以访问他们拥有的区域,否则将重定向到401页面。 401页面显示其用户名,说明该用户无权访问此内容。

但是,在部署环境中,所有访问应用程序任何部分的尝试都会重定向到401页面,显示的用户名为空白!

我们如何让已部署的应用程序访问请求的用户名?

根据我的研究,我应该转到以下屏幕并启用Windows身份验证,但它不在列表中!

enter image description here

2 个答案:

答案 0 :(得分:2)

我们有这样的问题,我们最终做的是关闭IIS中的匿名访问。记得检查底部的集成框..希望这有帮助

答案 1 :(得分:1)

啊,如果你使用的是IIS 7,你可能需要先安装它! Here's a good overview.自由贸易协定:

  

IIS 7的默认安装不包括Windows   认证角色服务。要在IIS上使用Windows身份验证,   必须安装角色服务,禁用匿名身份验证   您的网站或应用程序,然后启用Windows身份验证   对于网站或应用程序。

如果你没有看到它作为选项,你可能没有安装它。

(从我的Winodws 7机器中删除),转到“开始”菜单,然后键入:打开或关闭Windows功能

接下来,在对话框的树视图中,转到 Internet信息服务 - 万维网服务 - 安全,然后选中 Windows身份验证 复选框