一、過(guò)濾器(Filter)
ASP.NET MVC中的每一個(gè)請(qǐng)求,都會(huì)分配給對(duì)應(yīng)Controller(以下簡(jiǎn)稱(chēng)“控制器”)下的特定Action(以下簡(jiǎn)稱(chēng)“方法”)處理,正常情況下直接在方法里寫(xiě)代碼就可以了,但是如果想在方法執(zhí)行之前或者之后處理一些邏輯,這里就需要用到過(guò)濾器。
常用的過(guò)濾器有三個(gè):Authorize(授權(quán)過(guò)濾器),HandleError(異常過(guò)濾器),ActionFilter(自定義過(guò)濾器),對(duì)應(yīng)的類(lèi)分別是:AuthorizeAttribute、HandleErrorAttribute和ActionFilterAttribute,繼承這些類(lèi)并重寫(xiě)其中方法即可實(shí)現(xiàn)不同的功能。
1.Authorize授權(quán)過(guò)濾器
授權(quán)過(guò)濾器顧名思義就是授權(quán)用的,授權(quán)過(guò)濾器在方法執(zhí)行之前執(zhí)行,用于限制請(qǐng)求能不能進(jìn)入這個(gè)方法,新建一個(gè)方法:
public JsonResult AuthorizeFilterTest() { return Json(new ReturnModel_Common { msg = "hello world!" }); }
直接訪問(wèn)得到結(jié)果:
現(xiàn)在假設(shè)這個(gè)AuthorizeFilterTest方法是一個(gè)后臺(tái)方