国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

MVC中使用AuthorizeAttribute注意事項

2024-07-10 13:28:50
字體:
來源:轉載
供稿:網友

代碼調用順序為:OnAuthorization--AuthorizeCore--HandleUnauthorizedRequest 如果AuthorizeCore返回false時,才會走HandleUnauthorizedRequest 方法,并且filterContext.Result是HttpUnauthorizedResult類型(注:StausCode=401),401錯誤又對應了Web.confi

代碼調用順序為:OnAuthorization-->AuthorizeCore-->HandleUnauthorizedRequest

如果AuthorizeCore返回false時,才會走HandleUnauthorizedRequest 方法,并且filterContext.Result是HttpUnauthorizedResult類型(注:StausCode=401),401錯誤又對應了Web.config中的

所以,AuthorizeCore==false 時,會跳轉到 web.config 中定義的 loginUrl="~/"

public class CheckLoginAttribute : AuthorizeAttribute

{

protected override bool AuthorizeCore(HttpContextBase httpContext) {

bool Pass = false;

if (!CheckLogin.AdminLoginCheck())

{

httpContext.Response.StatusCode = 401;

Pass = false;

}

else

{

Pass = true;

}

return Pass;

}

protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)

{

if(filterContext.HttpContext.Request.IsAjaxRequest())

{

if (!App.AppService.IsLogon)

{

filterContext.Result = new JsonResult

{

Data = new {IsSuccess = false, Message = "不好意思,登錄超時,請重新登錄再操作!"},

JsonRequestBehavior = JsonRequestBehavior.AllowGet

};

return; //由于JsonResult無對應StatusCode,,而在AuthorizeCore中我們把httpContext.Response.StatusCode=401,所以會跳轉到 web.config 中定義的 loginUrl。猜想:filterContext.Result可以賦值為 //RedirectResult、HttpUnauthorizedResult等,若沒有StatusCode(像JsonResult),則會檢查Response.StatusCode

}

}

if (App.AppService.IsLogon)

{

return;

}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山东省| 牡丹江市| 同江市| 静乐县| 交口县| 望谟县| 涞源县| 荥阳市| 贡觉县| 高尔夫| 集安市| 德令哈市| 隆尧县| 宁化县| 文登市| 丹阳市| 永新县| 涟源市| 东明县| 桓台县| 山东| 上林县| 安图县| 隆德县| 西平县| 北川| 凤山县| 安徽省| 旺苍县| 明水县| 大渡口区| 上犹县| 德庆县| 棋牌| 左贡县| 潮州市| 盖州市| 托里县| 龙门县| 旅游| 登封市|