Asp.net mvc MVC“;“访问被拒绝”;使用IIS
在“访问被拒绝”消息之外遇到严重问题: 错误消息401.2:未经授权:由于服务器配置,登录失败。根据您提供的凭据和Web服务器上启用的身份验证方法,验证您是否具有查看此目录或页面的权限。请与Web服务器的管理员联系以获得其他帮助 我是怎么来的 在Windows7下运行,专业版。系统使用AD登录到系统(名称:System\login)。在VS2010中创建了一个名为XYZ的新MVC 3应用程序。没有对代码进行任何更改。将System.Web.mvc和System.Web.Helpers的引用文件设置为复制到Local=true 我所尝试的Asp.net mvc MVC“;“访问被拒绝”;使用IIS,asp.net-mvc,windows,model-view-controller,iis-7,authorization,Asp.net Mvc,Windows,Model View Controller,Iis 7,Authorization,在“访问被拒绝”消息之外遇到严重问题: 错误消息401.2:未经授权:由于服务器配置,登录失败。根据您提供的凭据和Web服务器上启用的身份验证方法,验证您是否具有查看此目录或页面的权限。请与Web服务器的管理员联系以获得其他帮助 我是怎么来的 在Windows7下运行,专业版。系统使用AD登录到系统(名称:System\login)。在VS2010中创建了一个名为XYZ的新MVC 3应用程序。没有对代码进行任何更改。将System.Web.mvc和System.Web.Helpers的引用文件设
有人能帮我吗?我已经执行了几次谷歌搜索,搜索组合有“mvc localhost access denied”等等,我执行了我找到的建议。创建mvc应用程序时,一个选项是创建“Intranet”应用程序。这将在
Web.config
中默认打开“Windows”身份验证
将此类项目发布到IIS时,需要在IIS管理控制台中为应用程序启用Windows身份验证。您可能还必须禁用匿名身份验证。已修复
嗯。找到了答案…至少是这个应用程序的答案。我将身份验证从Windows更改为匿名。然后,我删除了拒绝匿名访问的.NET授权规则。这两项功能使您能够访问应用程序,而无需伴随Windows授权的恼人的IIS登录弹出窗口
我以前没有注意到的一件事是,我对网站所做的更改反映在发布位置的web.config文件中,而不是源文件中
不幸的是,每次发布时,我都会重置身份验证。这可能是我遇到这么多麻烦的真正原因。吸取的教训。我很懊恼
另一件我未能澄清的事情是,我正在使用IIS 7.5。将其添加到web.config文件中
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<!-- rest of config -->
</system.webServer>
希望这会有所帮助。:) 如果要避免复制错误的文件:
- 在这种情况下,请使用发布配置文件和转换:
<authentication mode="None" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
</authorization>
制作:
<authentication mode="Windows" xdt:Transform="Replace"/>
<authorization xdt:Transform="Replace">
<deny users="?" />
我得到了错误,因为这是由web.config生成的
忘了提到通过F5执行应用程序很好。请继续。完全删除了应用程序,但保留了网站。在同一位置创建了同名的新应用。确保它是一个“内部网”应用程序。同样的问题。我以为我最初选择了“Intranet”解决方案,但我必须确定。您是否在IIS管理控制台中启用了Windows身份验证?是的,它会打开IIS登录窗口,我不希望出现此窗口,因为规范要求以不同的方式进行授权。我们有一个自定义的包含式授权框架,需要在任何其他授权方案之外运行。正如您在回答中提到的,这是问题的根源。您的web.config说要使用Windows身份验证,但您正在禁止该网站使用它。这是建议还是经过验证的解决方案?回答问题时,最好给出一个来自实际过期的答案。在阅读了此配置选项的文档后,我认为它与问题中的问题无关。遇到了类似的问题。把我的头发拔出来想把它修好。这篇文章让我走上了正确的道路。请确保您的web.config中没有以下内容:将MVC站点从IISExpress移动到IIS会导致此错误。在IIS中,它不会显示身份验证设置为Windows,并且web.config拒绝未经身份验证的用户。奇怪的是,在IIS中重新应用正确的身份验证设置后,它工作了。user5635311:感谢您的响应。不幸的是,因为我提出这个问题已经两年多了,所以我转到了VS 2013。当我有空闲时间(LOL)时,我可以在那个版本上测试这个实验,但是当前的应用程序运行得很好。
<appsettings>
<add key="vs:EnableBrowserLink" value="false"></add>
</appsettings>
<system.web>
<compilation debug="false" targetFramework="4.5" />
</system.web>