【发布时间】:2026-01-04 04:55:01
【问题描述】:
在向this question 询问授权后,我添加了一个新的自定义属性,试图将未经授权的用户重定向到一个页面,该页面包含有关请求访问等的更多详细信息。
public class RedirectAuthorize:AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
//base.HandleUnauthorizedRequest(filterContext);
filterContext.Result = new RedirectResult("Unauthorized");
}
}
我已经用这个属性和正确的 (Role="...") 装饰了我的 Home 控制器,并且这个“有效”......即它按预期命中方法。
我已在名为 Unauthorized.cshtml 的共享视图文件夹中添加了一个普通视图,但我只是收到“找不到资源”404 错误。
显示的 URL 似乎正确?
我的猜测是我需要指定控制器/动作而不是页面?但是错误处理程序重定向到Error.cshtml 而不需要控制器?
感谢您的帮助。
【问题讨论】:
标签: c# asp.net-mvc-3 authorization