我在类中添加了自定义授权属性以检查登录用户是否为管理员。但这行不通。这是我的代码
[AdminAuthorization]
public class UsersController : Controller
{
public ActionResult Index()
{
return View();
}
}
public sealed class AdminAuthorizationAttribute : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
if(!UserSessionHelper.Instance.IsValid && !UserSessionHelper.Instance.Data.IsAdmin)
{
filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { controller = "Error", action = "AccessDenied" }));
}
}
}
在这里从会话中获取用户数据以检查用户是否是管理员以及如果他不是管理员则重定向到访问被拒绝页面时正在做什么。但这不起作用。对于每个用户,该页面都会被查看。