对于ASP.NET MVC 2应用程序,我们使用HttpContext.User.Identity.Name
获取用户名以进行身份验证。这在测试时工作正常。数据库中的用户可以访问他们拥有的区域,否则将重定向到401页面。 401页面显示其用户名,说明该用户无权访问此内容。
但是,在部署环境中,所有访问应用程序任何部分的尝试都会重定向到401页面,显示的用户名为空白!
我们如何让已部署的应用程序访问请求的用户名?
根据我的研究,我应该转到以下屏幕并启用Windows身份验证,但它不在列表中!
答案 0 :(得分:2)
我们有这样的问题,我们最终做的是关闭IIS中的匿名访问。记得检查底部的集成框..希望这有帮助
答案 1 :(得分:1)
啊,如果你使用的是IIS 7,你可能需要先安装它! Here's a good overview.自由贸易协定:
IIS 7的默认安装不包括Windows 认证角色服务。要在IIS上使用Windows身份验证, 必须安装角色服务,禁用匿名身份验证 您的网站或应用程序,然后启用Windows身份验证 对于网站或应用程序。
如果你没有看到它作为选项,你可能没有安装它。
(从我的Winodws 7机器中删除),转到“开始”菜单,然后键入:打开或关闭Windows功能。
接下来,在对话框的树视图中,转到 Internet信息服务 - 万维网服务 - 安全,然后选中 Windows身份验证 复选框