debuggingASP.NET MVC时,IIS Express会出现“访问被拒绝”错误

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

这怎么解决?

“/”应用程序中的服务器错误。

访问被拒绝。 说明:访问提供此请求所需的资源时发生错误。 服务器可能未configuration为访问所请求的URL。

错误消息401.2 .:未经授权:login失败,由于服务器configuration。 validation您是否有权根据您提供的凭据以及Web服务器上启用的身份validation方法来查看此目录或页面。 联系Web服务器的pipe理员以获取更多帮助。

    造成这个问题的原因是IIS Express不允许Windows身份validation。 这可以通过设置启用

    <windowsAuthentication enabled="true"> 

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

    如果您正在使用Visual Studio,还可以在解决scheme资源pipe理器中左键单击该项目,然后在“ 属性”窗口中将“ Windows身份validation”属性更改为“已启用 ”。

    我用贾森的答案,但想澄清如何进入属性。

    1. 在Solution Explorer中select项目

    在这里输入图像说明

    1. F4去属性(不同于右键属性)
    2. Windows身份validation更改为已启用

    在这里输入图像说明

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

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

     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

    现在我可以按预期访问login页面。

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

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

     netsh http show urlacl 

    删除这个保留我在一个提升的控制台运行这个:

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

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

    我正在使用VS2013

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

    Solution ExplorerRight click on projectPropertiesWeb tabProject Url

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

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

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

    我的网站出现了,但是有authentication的问题。

    我只是解决了这个确切的问题,在IIS EXPRESS通过编辑应用程序主机.config到特定于下面的位置部分来解决它。 我已经在Visual Studio 2012中设置了Windows身份validation,但是当我进入XML时,它看起来像这样。

    需要在下面添加windows auth标签,如图所示。

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

    我一直在努力解决这个问题,试图使用Provider Hosted来创build一个简单的SharePoint应用程序。

    通过applicationhost.config后,在该部分中,basicAuthentication设置为false。 在我的情况下,我把它改成了真的去过401.2。 还有很多其他链接如何findIIS Express的applicationhost.config。

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

    要解决我的问题:

    进入控制面板>networking和Internet>networking连接

    右键单击您可能有的任何辅助无线networking连接(我的无线networking连接2),然后单击“属性”。

    转到顶部的“分享”标签。

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

    点击确定>然后点击应用。

    希望这可以帮助!

    我没有在任何地方看到这个“完整的”答案。 我刚刚看到关于更改端口号的那个,我贴了这个,所以就这样。

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

    我正在查找“为什么”,但是我的想法是我的头脑是IIS和Visual Studio的IIS Express在创build虚拟目录时使用相同的目录,而Visual Studio只能创build新的虚拟目录,并且不能修改当它将它绑定到网站时,IIS创build的任何内容。

    随时纠正我为什么。

    我们的错误页面是在login页面的后面,但是login页面在其中一个控件中有错误,从而创build了一个无限循环。

    我们从违规页面中删除了所有的控件,并将它们逐个添加回来,直到find并修复了正确的控件。