IIS7.5下的Asp Net Mvc 4应用程序未重定向到登录页面[重复]

Posted

技术标签:

【中文标题】IIS7.5下的Asp Net Mvc 4应用程序未重定向到登录页面[重复]【英文标题】:Asp Net Mvc 4 Application under IIS7.5 not redirecting to login page [duplicate] 【发布时间】:2013-01-23 20:52:58 【问题描述】:

可能重复:MVC4 HTTP Error 403.14 - Forbidden

每次我必须配置 ASP.Net mvc 应用程序时都会遇到相同的错误:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

这可能发生是有原因的,我已经弄清楚了。

将应用程序池配置为使用 LocalSystem 帐户。 在项目文件夹中添加了此用户的权限。

今天另一个有这个问题的应用程序只更改应用程序池以使用 LocalSystem 帐户是不够的。我能做些什么来解决这个问题。

P.S:在 Asp Net mvc 中,我们没有在 IIS 上启用浏览器目录,所以我不明白为什么会出现问题。

【问题讨论】:

您将请求发送到哪个 url? @Darin Dimitrov localhost 并重定向到“~/Account/Login” 不要将 LocalSystem 用于 AppPool ID。那是可怕的安全性。应用程序池中的 .net 版本是否正确? @Darin Dimitrov 是的... .net4。我应该使用创建一个具有有限权限的帐户并将用户授予应用程序文件夹吗? 【参考方案1】:

您看到此错误正是因为您不允许目录浏览。这向您显示的是 MVC 没有收到请求并且 IIS 正在尝试查找默认文档。 I have answered a question similar in the past,也许这些建议可以帮助你发现问题

错误 403.14 是 HTTP 错误代码,不允许列出 目录的内容。请确保

您已将网站设置为 IIS 中的应用程序 您已在服务器上安装了 .NET 4.5 您已将应用程序池设置为运行正确版本的 .NET 框架(即未设置为 .NET 2.0 您正在应用程序池 .NET 上使用集成管道 4.5实际上是在IIS中注册的。请参阅this post 了解类似问题/解决方案 通常,a 和 d 是最大的问题 围绕 MVC 部署到 IIS

另外,检查您的 web.config 并确保此行存在:

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>

更新

嗯,我当然没想到我的回答会引起这么多关注......话虽如此,我可以在下面的对话中展开更多内容。 DarinD 表示担心

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/> 
 </system.webServer>

对您的网络服务器来说是一个额外的负担,他是正确的。此行将导致 IIS 为任何请求加载所有模块,包括静态文件。话虽如此,考虑到 IIS 7 的各个方面(例如内核缓存),除非您托管的网站流量非常大/拥有大量模块,否则您或您的用户很可能不会注意到性能影响。

如果您想查看可能不同的解决方案,请查看this blog post 以获取有关上面 managedModule 行的更多信息,您可以测试那里提出的解决方案是否也解决了您的问题。

最后,here is a blog post 不仅涵盖了潜在的性能影响,还更深入地介绍了路由的工作原理以及在 IIS 6 和 7 上获取无扩展 URL 路由所需的操作(这也应该涵盖 7.5)

【讨论】:

我根本不建议设置runAllManagedModulesForAllRequests="true"。这将导致所有请求,即使是对静态资源(如 javascript、css 和图像)的请求,都会通过托管管道,这显然会带来性能开销。 您不应该只是在 SO 上复制另一个答案。如果是重复的问题,则应该关闭问题。 - 解决了我的问题。谢谢 完全同意@JohnKoerner,当答案是宣传诸如设置runAllManagedModulesForAllRequests="true" 之类的不良做法时,情况会变得更糟。 如果这个答案是错误的方法,那么正确的方法是什么?

以上是关于IIS7.5下的Asp Net Mvc 4应用程序未重定向到登录页面[重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法让 ELMAH 在 IIS7.5 上与 ASP.NET MVC2 一起使用

IIS7.5 中的 ASP.NET MVC3 401.1 错误

IIS 7.5 中的 Asp.net mvc 4 应用程序问题

403 - 禁止在 iis7.5 上部署基本 MVC 3 [重复]

IIS 7.5 上的 ASP.NET MVC

IIS 7.5 上的 ASP.NET MVC