ASP.NET MVC動作過濾器
ASP.NET MVC提供了4種不同的動作過濾器(Aciton Filter)。
1.Authorization Filter
在執行任何Filter或Action之前被執行,用於身份驗證
2.Action Filter
在執行Action之前或之後被執行,用於執行的Action需要生成記錄或者快取資料時
3.Result Filter
在執行ActionResult的前後被執行。在View被顯示到瀏覽器之前可以執行一些邏輯運算,或修改ViewResult的輸出結果
4.Exception Filter
在Action執行之前或之後或者ActionResult執行之前或之後被執行。在執行中發生異常時,可以使用此Filter指向其他頁面來顯示錯誤資訊
下面是不同動作過濾器的執行順序:
OnAuthorization
↓
OnActionExecuting
↓
執行動作(Action)
↓
OnActionExecuted
↓
OnResultExecuting
↓
執行檢視(View)
↓
OnResultExecuted
↓
OnException
動作過濾器一律使用屬性(Attribute)的方式應用在Action之上。eg:
[Authorize(Roles="admin")]
public ActionResult Edit(int id)
{
return View();
}
這四種動作過濾器都是.net屬性(Attribute)類,只要繼承Attribute類並實現與之對應的介面就可以擴充套件功能。
注:動作過濾器屬性也可以用在Controller上,若用在Controller上,則將此屬性用在此Controller中的所有Action之上。
Authorization過濾器屬性
- Authorize屬性
使用者或角色符合要求才能被使用。否則就會跳轉到登入頁面
其中在web.config檔案的system.web類的設定中有一個Authentication設定,其中<forms>部分有一個loginUrl屬性可以設定當許可權不足時應該跳轉的地址,eg:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
- ChildActionOnly屬性
- RequiredHttps屬性
應用RequiredHttps屬性,讓Action僅能顯示在https安全登入的狀態下。如果使用者使用http連線,該Action就會自動轉向同一個Action的https網址。
[RequireHttps]
public ViewResult Index()
{
......
return View();
}
- ValidateInput屬性
相關文章
- ASP.Net MVC過濾器ASP.NETMVC過濾器
- 【ASP.NET Core】MVC過濾器:執行流程ASP.NETMVC過濾器
- 【ASP.NET Core】MVC過濾器:常見用法ASP.NETMVC過濾器
- asp.net mvc中的使用者登入驗證過濾器ASP.NETMVC過濾器
- 理解ASP.NET Core - 過濾器(Filters)ASP.NET過濾器Filter
- ASP.Net Core 5.0 MVC中AOP思想的體現(五種過濾器)並結合專案案例說明過濾器的用法ASP.NETMVC過濾器
- .Net MVC中定義全域性過濾器及在Action中排除全域性過濾器MVC過濾器
- mvc原始碼解讀(11)-mvc四大過濾器之AuthorizationFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(12)-mvc四大過濾器之ActionFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(13)-MVC四大過濾器之ResultFilterMVC原始碼過濾器Filter
- mvc原始碼解讀(14)-mvc四大過濾器之ExceptionFilterMVC原始碼過濾器ExceptionFilter
- MVC使用異常過濾器處理異常MVC過濾器
- Asp.net core 過濾器的簡單使用ASP.NET過濾器
- 說一說MVC的Authentication過濾(四)MVC
- 過濾器過濾器
- 4、過濾器的使用及自定義過濾器過濾器
- 點雲濾波器與過濾器過濾器
- ASP.NET MVC – 控制器簡介ASP.NETMVC
- CAN過濾器過濾器
- Filter過濾器Filter過濾器
- vue 過濾器Vue過濾器
- NetCore過濾器NetCore過濾器
- 代理過濾器過濾器
- Vue過濾器Vue過濾器
- DataV過濾器過濾器
- hbase過濾器過濾器
- Xor過濾器:比布隆Bloom過濾器更快,更小過濾器OOM
- Asp.Net Core中利用過濾器控制Nginx的快取時間ASP.NET過濾器Nginx快取
- Spring Cloud Gateway ---GatewayFilter過濾器、過濾器工廠(入門)SpringCloudGatewayFilter過濾器
- 【ASP.NET Core】動態對映MVC路由ASP.NETMVC路由
- PHP 過濾器(Filter)PHP過濾器Filter
- vue---過濾器Vue過濾器
- Vue中過濾器Vue過濾器
- vue filters過濾器VueFilter過濾器
- 布隆過濾器過濾器
- SpringSecurity過濾器原理SpringGse過濾器
- 誠翔濾器光刻膠過濾器濾芯:保障光刻過程的高效與安全過濾器
- 在Asp.Net Core中使用ModelConvention實現全域性過濾器隔離ASP.NET過濾器
- Spring Cloud Gateway中的過濾器工廠:重試過濾器SpringCloudGateway過濾器