为什么MVC不使用Error.aspx?

时间:2009-07-14 13:19:32

标签: asp.net-mvc vb.net security model-view-controller

我正在尝试为我的ASP.NET 1.0 MVC应用程序(VB)添加一些安全性,但我无法让它工作。在我的控制器的顶部,我有:

<HandleError()> _
Public Class HomeController

如果用户没有正确的角色,我正在重写OnActionExecuting并抛出SecurityException。

我读过的所有内容都指出,默认情况下,这应该首先在当前文件夹(Home)中查找Error.aspx,然后在Shared文件夹中查找。我在两个文件夹中都有Error.aspx,而我所得到的只是一个“安全例外”黄色死亡屏幕。

我错过了什么?

2 个答案:

答案 0 :(得分:5)

你的web.config中是否有customErrors = On

here

答案 1 :(得分:1)

你的web.config中有吗?如果mode =“Off”或者您从同一个框中访问该站点并且mode =“RemoteOnly”,则会显示调试页面而不是error.aspx视图。

如果不是这种情况,请尝试在返回View(“错误”)的控制器上创建操作,看看会发生什么。我最近遇到了这个问题,这是由于Error.aspx视图本身出错。而不是告诉你错误视图有问题,框架就会继续显示YSOD和原始错误信息。