1. 程式人生 > >MVC 過濾器的使用

MVC 過濾器的使用

第一種方法(Controller中的方法)
一般用於許可權過濾
寫一個控制器基類 重寫Controller中的OnActionExecuting、OnActionExecuted等方法 達到在特定位置新增過濾的效果

namespace Core.ProjectOA.WebApp.Controllers
{
    public class BaseController : Controller
    {
        public UserInfo LoginUser { get; set; }
        //要過濾的控制器可以繼承此BaseController 

        ///
<summary>
/// 在控制器執行方法之前執行 /// </summary> /// <param name="filterContext"></param> protected override void OnActionExecuting(ActionExecutingContext filterContext)//protected 只能被子類訪問 重寫 OnActionExecuting方法 { base.OnActionExecuting(filterContext); //這裡可以寫程式碼進行過濾
} } }

然後把需要新增此種過濾的控制器從繼承Controller改為 繼承BaseController
第二種方法(ActionFilterAttribute)
1、新建一個類

public class DemoFilterAttribute:ActionFilterAttribute
    {
        filterContextInfo fcinfo;
        // OnActionExecuted 在執行操作方法後由 ASP.NET MVC 框架呼叫。
        // OnActionExecuting 在執行操作方法之前由 ASP.NET MVC 框架呼叫。
// OnResultExecuted 在執行操作結果後由 ASP.NET MVC 框架呼叫。 // OnResultExecuting 在執行操作結果之前由 ASP.NET MVC 框架呼叫。 /// <summary> /// 在執行操作方法之前由 ASP.NET MVC 框架呼叫。 /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuting(ActionExecutingContext filterContext) { filterContext.HttpContext.Response.Write(@"<br />在執行操作方法之前由 ASP.NET MVC 框架呼叫"); base.OnActionExecuting(filterContext); } /// <summary> /// 在執行操作方法後由 ASP.NET MVC 框架呼叫。 /// </summary> /// <param name="filterContext"></param> public override void OnActionExecuted(ActionExecutedContext filterContext) { filterContext.HttpContext.Response.Write(@"<br />在執行操作方法後由 ASP.NET MVC 框架呼叫"); base.OnActionExecuted(filterContext); } /// <summary> /// OnResultExecuted 在執行操作結果後由 ASP.NET MVC 框架呼叫。 /// </summary> /// <param name="filterContext"></param> public override void OnResultExecuted(ResultExecutedContext filterContext) { filterContext.HttpContext.Response.Write(@"<br />OnResultExecuted 在執行操作結果後由 ASP.NET MVC 框架呼叫"); base.OnResultExecuted(filterContext); } /// <summary> /// OnResultExecuting 在執行操作結果之前由 ASP.NET MVC 框架呼叫。 /// </summary> /// <param name="filterContext"></param> public override void OnResultExecuting(ResultExecutingContext filterContext) { filterContext.HttpContext.Response.Write(@"<br />OnResultExecuting 在執行操作結果之前由 ASP.NET MVC 框架呼叫"); base.OnResultExecuting(filterContext); } }

2、給需要過濾的控制器方法 加上特性標籤[DemoFilter]
如果一個控制器下的所有方法都需要執行此過濾 則給整個類加上特性標籤

相關推薦

MVC攔截器,MVC過濾器,MVC ActionFilterAttribute攔截器過濾器,OnActionExecuting

mvc攔截器 mvc過濾器 mvc actionfilterattribute攔截器過濾器 該過濾攔截器動態攔截字符串和實體類檢查是否有關鍵字,對字符串和動態實體類進行修改很再提交。第一步:新的攔截器類名並繼承ActionFilterAttribute :CustomerFilterAttrib

MVC過濾器處理Session過期

use des onf prot ews att area attrs empty 一、自定義一個Action過濾器 public class CheckSession: ActionFilterAttribute { public ov

MVC 過濾器

作用 bsp 過濾 繼承 發生 顯示錯誤 實現 inf 四種 濾器主要分為四種: 授權過濾器(Authorization Filter)動作過濾器(Action Filter)結果過濾器(Result Filter)異常過濾器(Exception Filter) 授權

ASP.NET MVC 過濾器(三)

 ASP.NET MVC 過濾器(三) 前言 本篇解說行為過濾器的執行過程,過濾器實現、使用方式有AOP的意思。能夠通過學習瞭解過濾器在框架中的執行過程從而獲得一些AOP方面的知識(在順序執行的過程中,這樣的程式設計模式就是橫向的插入點),言歸正傳,我們還是以學習過濾

MVC過濾器之結果過濾器

結果過濾器屬性提供了兩個事件會在執行檢視(ActionResult,ExecutrResult)的前後執行,分別是OnResultExecuting與OnResultExecuted事件,屬性類別實作IResultFilter介面會被要求必須實作這兩個方法。 由於從Action回傳的Action

MVC身份驗證.MVC過濾器.MVC6關鍵字Task,Async.前端模擬表單驗證,提交.自定義匿名集合.Edge匯出到Excel.BootstrapTree樹狀選單的全選和反選.bootstrap可搜尋可多選可全選下拉框

在寫這篇部落格之前要嘮叨幾句.本人已從事開發四年有餘.從前兩年的熱情如火.到現在的麻木.總感覺要像上突破.卻又不敢輕舉妄動. 沒事就寫點基礎程式碼.指點下新人吧 1.MVC身份驗證.    有兩種方式.一個是傳統的所有控制器繼承自定義Control,然後再裡面用MVC的過濾器攔截.所以每次網站的後臺被訪問時.

MVC過濾器總結

註冊路由  using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing;

零xml配置Spring MVC過濾器解決中文引數亂碼

由於JSP預設的字元編碼為ISO-8859-1,如果request中有中文的話會出現亂碼,因此可以使用過濾器設定request的編碼 Spring MVC中提供了一個CharacterEncodingFilter,顧名思義就是用來做字元編碼的過濾器。因此可以自

16、ASP.NET MVC入門到精通——MVC過濾器

在ASP.NET MVC中有四種過濾器型別  Action 1、在ASP.NET MVC專案中,新建資料夾Filter,然後新建類MyCustormFilter,繼承自ActionFilterAttribute類,我們來看下ActionFilterAttribute類有如下四個方法,從命名我應該就

ASP.NET沒有魔法——ASP.NET MVC 過濾器(Filter)

上一篇文章介紹了使用Authorize特性實現了ASP.NET MVC中針對Controller或者Action的授權功能,實際上這個特性是MVC功能的一部分,被稱為過濾器(Filter),它是一種面向切面程式設計(AOP)的實現,本章將從以下幾個方面來介紹ASP.NET

MVC 過濾器的使用

第一種方法(Controller中的方法) 一般用於許可權過濾 寫一個控制器基類 重寫Controller中的OnActionExecuting、OnActionExecuted等方法 達到在特定位置新增過濾的效果 namespace Core.Pro

MVC過濾器特性的ActionFilterAttribute過濾器

ActionFilterAttribute過濾器1.要在檢視的models層建一個特性類繼承過濾器類public class MyActionAttribute:ActionFilterAttribute2.實現過濾器類的4個重寫方法分別是OnActionExecuting

MVC過濾器的用法

在Asp.net Mvc中當你有以下及類似以下需求時你可以使用Filter功能 判斷登入與否或使用者許可權決策輸出快取防盜鏈防蜘蛛本地化與國際化設定實現動態Action Asp.Net MVC提供了以下幾種預設的Filter: 需要注意一點,Asp.Net MV

Spring MVC過濾器-委派過濾器代理(DelegatingFilterProxy)

org.springframework.web.filter中有一個特殊的類——DelegatingFilterProxy,該類其實並不能說是一個過濾器,它的原型是FilterToBeanProxy,即將Filter作為spring的bean,由spring來管

Spring MVC過濾器-上下文資訊過濾器(AbstractRequestLoggingFilter及其子類)

        AbstractRequestLoggingFilter類定義了兩個方法beforeRequest和afterRequest分別用於設定過濾前後執行的操作,它有三個子類,分別是CommonsRequestLoggingFilter、ServletContex

ASP.NET Core MVC 過濾器介紹

過濾器的作用是在 Action 方法執行前或執行後做一些加工處理。使用過濾器可以避免Action方法的重複程式碼,例如,您可以使用異常過濾器合併異常處理的程式碼。 過濾器如何工作? 過濾器在 MVC Action 呼叫管道中執行,有時稱為過濾器管道。MVC選擇要執行的Ac

.Net Mvc過濾器觀察者模式記錄網站報錯資訊

基本介紹:   觀察者模式是一種物件行為模式。它定義物件間的一種一對多的依賴關係,當一個物件的狀態發生改變時,所有依賴於它的物件都得到通知並被自動更新。在觀察者模式中,主題是通知的釋出者,它發出通知時並不需要知道誰是它的觀察者,可以有任意數目的觀察者訂閱並接收通知。觀察者模式不僅被廣泛應用於軟體介面元素之間的

跟我一起學.NetCore之MVC過濾器,這篇看完走路可以仰著頭走

**前言** MVC過濾器在之前Asp.Net的時候就已經廣泛使用啦,不管是面試還是工作,總有一個考點或是需求涉及到,可以毫不疑問的說,這個技術點是非常重要的; 在之前參與的面試中,得知很多小夥伴只知道有一兩個過濾器,而對其執行順序瞭解的還是很模糊,少部分小夥伴甚至還沒有使用過。這裡就詳細來說說這塊的內容。

MVC action過濾器驗證登錄

bsp new mage att cti 驗證 其他 需要 star 方法一 : 1.創建一個全局action過濾器 (在appstart 的filterconfig中註冊 filters.Add(new LoginAttribute());)      2

asp.net mvc 全局權限過濾器及繼成權限方法

otn color code 資源 bug 查詢 linq 授權 exc 全局權限過濾器 //----------------------------------------------------------------------- // <copyrig