在我的 MVC4 互联网应用程序中,我使用默认附带的 AccountController 以及角色等。
所以我有这个控制器,我在其中定义了访问操作的角色,示例如下。
public class SomeController : Controller
{
private SomeDbContext db = new LookbookDbContext();
//
// GET: /Default1/
[Authorize(Roles = "Administrator")]
public ActionResult Index()
{
return View(db.SomeTable.ToList());
}
...
}
我现在想要的是,当用户/匿名用户尝试访问此索引操作时,获取我制作的自定义错误视图,而不是显示登录表单。
我已经添加了这个,但它什么也没做。我不断收到登录表单页面。我更改了它,以测试 porpuses,给我默认的 401 错误页面,但它也不起作用。
public class CustomAuthorize : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}