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服务扩展)