首页 文章

调试ASP.NET MVC时,IIS Express会出现“拒绝访问”错误

提问于
浏览
97

我创建了一个ASP.NET MVC 3项目,并在开发时使用IIS Express作为Web服务器 . 当我尝试调试时,我收到以下错误消息 .

怎么解决这个问题?

'/'应用程序中的服务器错误 . 访问被拒绝 . 描述:访问提供此请求所需的资源时发生错误 . 可能未配置服务器以访问请求的URL . 错误消息401.2 . :未授权:由于服务器配置登录失败 . 验证您是否有权根据您提供的凭据和Web服务器上启用的身份验证方法查看此目录或页面 . 请与Web服务器的管理员联系以获取其他帮助 .

14 回答

  • 59

    在IIS Express上托管:1 . 在解决方案资源管理器中单击您的项目以选择项目 . 2.如果“属性”窗格未打开,请将其打开(F4) . 3.在项目的“属性”窗格中:a)将“匿名身份验证”设置为“已禁用” . b)将“Windows身份验证”设置为“已启用” .

  • 0

    如果您使用的是Visual Studio,还可以在 Solution Explorer 中左键单击该项目,并在 Properties 窗口中将 Windows Authentication 属性更改为 Enabled .

  • 3

    在我的情况下,我之前从VS运行的应用程序保留了URL . 我可以通过在控制台中运行来看到这一点:

    netsh http show urlacl
    

    删除此预订我在 elevated 控制台中运行:

    netsh http delete urlacl http://127.0.0.1:10002/
    

    我发现这些步骤here解决了我的问题 .

    我正在使用VS2013

  • 12

    我打开了我的web.config文件,找到并删除了这一部分:

    <authorization>
      <deny users="?" />
    </authorization>
    

    和我的网站出现了,但有认证的发行版..

  • 0

    我刚刚修复了IIS EXPRESS中的这个确切问题,通过将应用程序主机.config编辑到下面特定的位置部分来修复它 . 我在Visual Studio 2012中设置了Windows身份验证,但是当我进入XML时,它看起来像这样 .

    需要在下面添加windows auth标记,如图所示 .

    <windowsAuthentication enabled="true" />
    
    <location path="MyApplicationbeingDebugged">
            ``<system.webServer>
                <security>
                    <authentication>
                        <anonymousAuthentication enabled="false" />
                        <!-- INSERT TAG HERE --> 
                    </authentication>
                </security>
            </system.webServer>
    </location>
    
  • 8

    我也有同样的问题,最后我可以克服它 .

    Solution ExplorerRight click on projectPropertiesWeb tabProject Url

    我选择了另一个端口号,每件事情都变好了!

  • 0

    在我的情况下,我不得不打开文件:

    C:\...\Documents\IISExpress\config\applicationhost.config
    

    我在文件中有这个:

    <authentication>
      <anonymousAuthentication enabled="true" User="" />
    

    我刚刚删除了 User="" 部分 . 我真的不知道这件事是怎么到达的...... :)

    注意:确保在 applicationhost.config 的末尾有类似的内容:

    .
       .
       .
       <location path="MyCompany.MyProjectName.Web">
            <system.webServer>
                <security>
                    <authentication>
                        <anonymousAuthentication enabled="true" />
                        <windowsAuthentication enabled="false" />
                    </authentication>
                </security>
            </system.webServer>
        </location>
    </configuration>
    

    您可能还想看看这里:https://stackoverflow.com/a/10041779/114029

    现在我可以按预期访问登录页面 .

  • 101

    如果遇到此问题,原因是IIS Express不允许WindowsAuthentication . 这可以通过设置启用

    <windowsAuthentication enabled="true">
    

    在位于C:\ Users [用户名] \ Documents \ IISExpress \ config的applicationhost.config文件中 .

  • 17

    我们的错误页面位于登录页面后面,但登录页面在其中一个控件中出错,从而产生无限循环 .

    我们从违规页面中删除了所有控件,然后逐个添加它们,直到找到并修复了正确的控件 .

  • 1

    我使用了杰森的答案,但想澄清如何进入 properties .

    • 在解决方案资源管理器中选择项目

    enter image description here

    • F4到达属性(不同于右键单击属性)

    • 将Windows身份验证更改为 Enabled

    enter image description here

  • 1

    以上都没有对我有用 . 这在今天之前一直在为我工作 . 然后我意识到我一直在我的笔记本电脑上创建一个托管连接,并与我的无线网络连接共享一个互联网连接 .

    To fix my issue:

    转到“控制面板”>“网络和Internet”>“网络连接”

    右键单击您可能拥有的任何辅助无线网络连接(我的名称为无线网络连接2),然后单击“属性” .

    转到顶部的“共享”标签 .

    取消选中“允许其他网络用户通过此计算机的Internet连接进行连接”的复选框 .

    单击确定>然后应用 .

    希望这可以帮助!

  • 5

    我一直在努力解决这个问题,尝试使用Provider Hosted创建一个简单的SharePoint应用程序 .

    在完成applicationhost.config之后,在该部分中,basicAuthentication设置为false . 我将其更改为true以在我的方案中超过401.2 . 有很多其他链接可以找到IIS Express的applicationhost.config .

  • 0

    我不得不在 Administrative Mode 中运行Visual Studio来摆脱这个错误 .

  • 98

    我没有在任何地方看到这个“完整”的答案;我发布这个之后,我刚刚看到一个关于更改端口号的问题,所以嗯 .

    确保在visual studio的项目属性中,项目URL未分配给IIS中用于任何站点绑定的相同URL或端口 .

    我正在查找“为什么”这个,但我的假设是我的头脑是IIS和Visual Studio的IIS表达在创建虚拟目录时使用相同的目录而Visual Studio只能创建新的虚拟目录目录,并且无法修改IIS在将其绑定到站点时创建的任何内容 .

    随便纠正我的原因 .

相关问题