1

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

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

我们如何使部署的应用程序能够访问请求的用户名?

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

在此处输入图像描述

4

2 回答 2

2

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

于 2012-04-06T15:26:25.593 回答
1

啊,如果您使用的是 IIS 7,您可能需要先安装它!这是一个很好的概述。自由贸易协定:

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

如果您没有将其视为一个选项,则可能没有安装它。

(来自我的 Winodws 7 机器,)转到您的开始菜单并输入:打开或关闭 Windows 功能

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

于 2012-04-06T17:29:27.173 回答