【发布时间】:2011-09-12 11:28:52
【问题描述】:
所以我使用 Intranet 模板创建了一个新的 ASP.NET MVC 项目。 web.config 包含适当的值(例如<authentication mode="windows"/>)。
如果我使用 VS 网络服务器启动网络应用程序,一切看起来都很好 - 该页面显示了我的 Windows 域和用户名等等。但是,这在 Opera 和 Safari 以及 IE 和 FF 中有效,这对我说它根本没有使用 Windows 身份验证(因为据我所知,这在除 IE/FF 之外的任何浏览器中都不起作用)。
下一步是让它通过本地 IIS 运行。我创建了一个主机文件条目,将 www.mysite.mydomain 指向 127.0.0.1。所以在 IIS 中,我创建了一个绑定到 www.mysite.mydomain 的网站,并启用 Windows 身份验证并禁用匿名身份验证。
我已设置 IE 和 FF 以启用 Windows 身份验证,如下所示:
IE
- 将 URL 添加到 Intranet 组
- 确保在高级设置中启用 Windows 身份验证
FF
将“www.mysite.mydomain”放入 network.automatic-ntlm-auth.trusted-uris 配置设置中。
但是当我在 IE / FF 中拨打 www.mysite.mydomain 时,我会收到登录提示。有趣的是,即使我在这里输入 Windows 登录信息,它仍然会失败并再次显示登录提示。
我们这里没有活动目录,但我的理解是它应该适用于本地帐户。
我想不出我还需要做什么。有什么建议吗?
编辑:我们最近切换到使用 Active Directory,但问题仍然存在。
编辑:当我取消登录提示时,我会进入“IIS 7.5 详细错误”页面,其中包含以下信息:
HTTP 错误 401.2 - 未经授权 由于身份验证标头无效,您无权查看此页面。**
【问题讨论】:
-
您是否尝试过使用
部分中的安全配置?像这样: -
还是
下的Authorization配置?像 一般,IIS 使用该部分来控制对资源的授权访问 -
你是否按照here的描述开启了windows认证模块?
-
能不能登录服务器试试localhost//<web站点文件夹> 看看是否登录成功???您可以使用您的凭据,也可以尝试使用服务器的凭据登录。
-
大卫,我已经更新了我的答案。如果您有机会查看它,请告诉我它是否解决了您的问题。
标签: asp.net-mvc iis windows-authentication ntlm http-status-code-401