我想用[授权(角色=“管理员”)在我的控制器方法的标签。
如果用户是不是管理员,我想该用户回到我的登录屏幕。 用户回到我的登录页面的默认行为是重新路由使用此网址我的用户“账号/登录”。
问题是,我的网站的子页面是由Ajax调用,包括我的登录屏幕刷新所有的部分意见。
所以我的问题是:是否有可能改变下面的类返回后重定向,而不是得到重定向?
public class AjaxAuthorizeAttribute : AuthorizeAttribute
{
override public void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
// Only do something if we are about to give a HttpUnauthorizedResult and we are in AJAX mode.
if (filterContext.Result is HttpUnauthorizedResult && filterContext.HttpContext.Request.IsAjaxRequest())
{
filterContext.Result = new RedirectResult("../Account/Login");
}
}
}