1、過濾器有4種:如下:
類型------------------------------------接口----------------------默認(rèn)實(shí)現(xiàn)
Authorization(授權(quán))---------IAuthorizationFilter--------AuthorizeAttribute
Action(行為)-------------------IActionFilter------------ActionFilterAttribute
Result(結(jié)果)-------------------IResultFilter------------ActionFilterAttribute
Exception(異常)-------------IExceptionFilter----------HandleErrorAttribute
2、作用范圍
2.1方法
[Authorize]
public ActionResult Method1()
{
}
2.2控制器
[Authorize]
public class UserController : Controller
{
}
2.3應(yīng)用程序
public static void RegisterGlobalFilters(GlobalFilterCollection filters) {
filters.Add(new System.Web.Mvc.AuthorizeAttribute());
}
3、Authorization(授權(quán))詳解
3.1概況
- 可以通過繼承AuthorizeAttribute類或者實(shí)現(xiàn)接口IAuthorizationFilter自定義授權(quán)。
- 設(shè)置授權(quán)[Authorize], 設(shè)置匿名訪問[AllowAnonymous]
3.2表單授權(quán)
FormsAuthentication.SetAuthCookie(model.UserName, true);
3.3未通過驗(yàn)證跳轉(zhuǎn)到指定頁面
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>