我试图了解在MVC Preview 4中使用Authorize [Authorize] Action Filter时错误处理的工作原理.
我有一个看起来像这样的动作:
[Authorize(Roles = "DOMAIN\\NOTAUTHORISED_ROLE" )]
[HandleError]
public ActionResult NeedAuthorisation()
{
throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
当我访问网址:时http://localhost:2197/testAuthorisation/NeedAuthorisation,我的浏览器中出现了一个空白页面.在Firebug中,我可以看到已发出请求并401 - Unauthorised返回了响应状态.但我没有被重定向或返回了customError.使用我授权的角色时,一切都按预期工作.
这是使用Windows身份验证.我正在编写一些代码来尝试Forms身份验证,看看我是否遇到了同样的问题.我已<customerrors mode="On"/>在testAuthorisation文件夹和Shared文件夹中设置并创建了错误页面.