使用IIS,MVC"拒绝访问"

Jam*_*sen 12 windows model-view-controller asp.net-mvc iis-7 authorization

超越"访问被拒绝"消息时遇到严重问题:

错误消息401.2:未授权:由于服务器配置而导致登录失败.验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面.请与Web服务器的管理员联系以获取其他帮助.

我是怎么来到这里的

在Windows 7,Professional下运行.使用AD登录系统的系统(名称:SYSTEM\login).在VS2010中创建了一个名为XYZ的新MVC 3应用程序.没有对代码进行任何更改.将System.Web.mvc和System.Web.Helpers的引用文件设置为Copy to Local = true.

我的尝试

  1. 发布XYZ到文件系统位置"C:/ websites/XYZ".
  2. 将"abc.xyz.com"添加到IPA 127.0.0.1的hosts文件中.
  3. 在IIS管理器中创建名为"XYZ"的新站点,并将物理路径设置为发布应用程序的路径(C:/ websites/XYZ).
  4. 将XYZ绑定到abc.xyz.com:80.
  5. 确保站点运行的应用程序池.NET 4.0,集成.
  6. 应用程序池标识设置为ApplicationPoolIdentity.
  7. 在已发布文件的物理位置,右键单击文件夹,然后转到属性 - >安全性,并将IUSR添加到用户列表,使其完全控制.
  8. MVC项目的身份验证模式设置为"无".
  9. 站点身份验证启用了匿名访问,禁用了所有其他功能.
  10. 我还为该站点启用了目录浏览.

毕竟,我重置了网站,刷新浏览器,并重置IIS.当我去abc.xyz.com时,我仍然收到此消息.我完全不知道接下来应该检查什么.

我需要的

谁能帮我这个?我已经使用"mvc localhost access denied"等组合执行了几次Google搜索,我实施了我发现的建议.

Jam*_*sen 10

固定

好.找到答案......至少对这个应用程序.我将身份验证从Windows更改为匿名.然后,我删除了拒绝匿名访问的.NET授权规则.这两件事使得能够访问应用程序而无需Windows授权附带的恼人的IIS登录弹出窗口.

我之前没有注意到的一件事是我对网站所做的更改反映在发布位置的web.config文件中,而不是源文件中.

不幸的是,每次我发布时都会重置身份验证.这可能是我遇到这么多麻烦的真正原因.学过的知识.懊恼,我.

另一件我未能澄清的事情是我使用的是IIS 7.5.

  • 陷入类似的问题.拉着我的头发试图修理它.这篇文章让我走上了正确的道路.确保你的web.config中没有这个:<authorization> <deny users ="?" /> </ authorization> (6认同)