遇到“Access is Denied”消息时遇到严重问题:
错误消息401.2:未授权:由于服务器配置,登录失败。验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面。请与Web服务器的管理员联系以获取其他帮助。
在Windows 7,Professional下运行。使用AD登录系统的系统(名称:SYSTEM \ login)。在VS2010中创建了一个名为XYZ的新MVC 3应用程序。没有对代码进行任何更改。将System.Web.mvc和System.Web.Helpers的引用文件设置为Copy to Local = true。
毕竟,我重置网站,刷新浏览器,然后重置IIS。当我去abc.xyz.com时,我仍然收到此消息。我完全不知道接下来应该检查什么。
任何人都可以帮我吗?我已经使用“mvc localhost access denied”等组合执行了几次Google搜索,我实施了我发现的建议。
答案 0 :(得分:10)
确定。找到答案......至少对这个应用程序。我将身份验证从Windows更改为匿名。然后,我删除了拒绝匿名访问的.NET授权规则。这两件事使得能够访问应用程序而无需Windows授权附带的烦人的IIS登录弹出窗口。
我之前没有注意到的一件事是我对网站所做的更改反映在发布的位置的web.config文件中,而不是来源。
不幸的是,每次发布时我都会重置身份验证。这可能是我遇到这么多麻烦的真正原因。学过的知识。懊恼,我是。
我未能澄清的另一件事是我使用的是IIS 7.5。
答案 1 :(得分:1)
在web.config文件中添加。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<!-- rest of config -->
</system.webServer>
希望这会有所帮助。 :)
答案 2 :(得分:1)
如果你想避免复制错误文件之类的事情:
我的开发箱:
<authentication mode="None" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
</authorization>
生产:
<authentication mode="Windows" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
<deny users="?" />
答案 3 :(得分:0)
创建MVC应用程序时,一个选项是创建“Intranet”应用程序。这将在Web.config
内默认打开“Windows”身份验证。
将此类项目发布到IIS时,需要在IIS管理控制台中为应用程序启用Windows身份验证。您可能还必须禁用匿名身份验证。
答案 4 :(得分:0)
我收到错误,因为这行是由web.config
https://www.asp.net/visual-studio/overview/2013/using-browser-link
<appsettings>
<add key="vs:EnableBrowserLink" value="false"></add>
</appsettings>
<system.web>
<compilation debug="false" targetFramework="4.5" />
</system.web>