403 – 禁止:访问被拒绝。 ASP.Net MVC

可能重复:
IIS 7中的ASP MVC导致:HTTP错误403.14 – 禁止

我在服务器上发布我的应用程序 当我进入我的域时,我得到这个错误:

403 – 禁止:访问被拒绝。 您无权使用您提供的凭据查看此目录或页面。

发生了什么?

您可以尝试的另一件事是在应用程序的Web.config中设置“为所有请求运行所有托pipe模块”选项 。

<system.webServer> <modules runAllManagedModulesForAllRequests="true"></modules> <handlers> <remove name="UrlRoutingHandler"/> </handlers> </system.webServer> 

如果您需要表单身份validation来访问您的应用程序,则需要托pipe模块在传入请求上运行,因为表单身份validation是托pipe模块。 所以,如果你需要表单身份validation,但是该模块没有运行,IIS只会给出一个403错误,因为它不能让你获得应用程序所要求的身份validation。

您是否在iis上托pipe该网站? 如果是这样,请确保您的网站运行的帐户有访问本地文件系统?

直接从msdn …..

networking服务帐户在默认情况下对IIS服务器根文件夹具有读取和执行权限。 IIS服务器根文件夹被命名为Wwwroot。 这意味着在根文件夹内部署的ASP.NET应用程序已经具有对其应用程序文件夹的读取和执行权限。 但是,如果您的ASP.NET应用程序需要在其他位置使用文件或文件夹,则必须具体启用访问。

要提供对作为networking服务运行的ASP.NET应用程序的访问,您必须授予对networking服务帐户的访问权限。

授予对特定文件的读取,写入和修改权限

  • 在Windows资源pipe理器中,find并select所需的文件。
  • 用鼠标右键单击该文件,然后单击属性。
  • 在属性对话框中,单击安全选项卡。
  • 在安全选项卡上,检查用户列表。 如果networking服务
  • 帐户没有列出,添加它。
  • 在“属性”对话框中,单击“networking服务用户名”,然后在“networking服务的权限”部分中,select“读取”,“写入”和“修改”权限。
  • 单击应用,然后单击确定。

点击这里了解更多

除了上面的答案之外,当您设置Windows身份validation时,您也可能会遇到此错误:

  • IIS指向一个空文件夹。
  • 您没有默认文档集。

我刚刚遇到了这个问题,这是因为IIS站点指向了错误的应用程序池。

我有同样的问题(在Windows Server 2003上),检查IIS控制台,如果您已经允许ASP.NET v4服务扩展(在IIS /计算机名/ Web服务扩展)