我想在我的控制器方法上使用[Authorize(Roles =「Admin」)]標籤。Asp MVC [Authorize]返回帖子而不是獲取
如果用戶不是管理員,我想將此用戶返回到我的登錄屏幕。 將用戶返回到我的登錄頁面的默認行爲是使用Get url將我的用戶重新路由到「帳戶/登錄」。
問題是,我的網站的子頁面都是通過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");
}
}
}
您仍然可以使用AcceptVerbs屬性: [AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)] – keithm 2009-07-30 14:19:36