MVC Filter是典型的AOP(面向切面编程)。MVC框架支持5种不同类型的过滤器,每种类型让你能够在请求处理类型的不同点上引入逻辑。下图描述了集中过滤器类型:

不同类型的Filters

  1. Authorization filters – 实现IAuthorizationFilter 特性.
  2. Action filters – 实现IActionFilter 特性.
  3. Result filters – 实现IResultFilter 特性.
  4. Exception filters –实现IExceptionFilter 特性.

Filters 按照上面列出的顺序执行。例如, authorization filters 总是在action filters之前执行,exception filters在所有其他类型的filter之后执行.

ActionFilterAttribute 基类

为了使你能够更加容易的实现自定义的action filter, ASP.NET MVC框架包含一个ActionFilterAttribute 基类. 这个类实现了IActionFilter 与IResultFilter 接口,并且继承了Filter 类。

ActionFilterAttribute 基类拥有以下可以重载的方法:

  • OnActionExecuting在action method调用前发生。
  • OnActionExecuted在action method调用后发生, 但是在result执行前发生 (在 view 呈现前)
  • OnResultExecuting在result执行前发生(在view 呈现前)
  • OnResultExecuted 在result执行后发生(在view 呈现后)

1.认证过滤器

认证过滤器是MVC第5版本的新特性,它对应用程序中的控制器和动作方法如何验证用户提供了细粒度的控制。

2.授权过滤器

新建类TestAuthorizeAttribute

 public class TestAuthorizeAttribute:AuthorizeAttribute{public override void OnAuthorization(AuthorizationContext filterContext){filterContext.HttpContext.Response.Write("OnAuthorization<br/>");//注释掉父类方法,因为父类里的 OnAuthorization 方法会调用asp.net的授权验证机制!// base.OnAuthorization(filterContext);
        }}

转载于:https://www.cnblogs.com/marshhu/p/6927450.html

MVC Filter相关推荐

  1. .NET MVC Filter异常处理

    .NET MVC Filter异常处理 参考文章: (1).NET MVC Filter异常处理 (2)https://www.cnblogs.com/wgale025/p/6232759.html ...

  2. MVC Filter自定义异常(拦截)

    MVC Filter自定义异常(拦截) 参考文章: (1)MVC Filter自定义异常(拦截) (2)https://www.cnblogs.com/Tmc-Blog/p/5737886.html ...

  3. Asp.net MVC Filter监控页面性能和运行时间

    本篇文章作用说明: Asp.net MVC Filter监控View实例,监控每个View页面加载的时间,跟踪分析每个页面的加载性能,然后做进一步优化: 问题背景 最近,客户一直反馈系统使用慢,有时候 ...

  4. Asp.net MVC Filter解析和实例说明

    解析目录 一.Filter在MVC生命周期中的位置 二.Filter常见的应用场景 三.Filter的执行顺序 四.MVC中常见的对于Session, Cookie的依赖 五.使用Filter解除依赖 ...

  5. ASP.NET MVC Filter过滤机制(过滤器、拦截器)

    https://blog.csdn.net/knqiufan/article/details/82413885 本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/ ...

  6. mvc filter 的用法

    1.建个类在model里面名字随便 using System; using System.Collections.Generic; using System.Linq; using System.We ...

  7. javabean|MVC|Filter|监听器|过滤器|JDBC

    一.JavaBean 实体类 JavaBean有特定的写法 必须要有一个无参构造 属性必须私有化 必须有对应的get/set方法 一般用来和数据库的字段做映射 ORM:对象关系映射 表----> ...

  8. [ASP.NET MVC 小牛之路]11 - Filter

    Filter(筛选器)是基于AOP(面向切面编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑,以非常简单优美的方式实现横切关注点(Cross-cutting Concerns).横切关 ...

  9. 跨域问题时的Filter无效

    我页面用Web Uploader进行图片上传,后台使用一个过滤器解决跨域的options问题,然后我给入口类加上了这个过滤器注解配置,但是无效 页面代码: <body> <div i ...

最新文章

  1. python语言是一种高级通用编程语言-2019年十大顶级编程语言:会这些的程序员薪资有多高?...
  2. 未来社会是什么样子的?您猜对了吗?
  3. boost::mpl模块实现is_sequence相关的测试程序
  4. MapReduce简介
  5. MyBatisPlus(基于starter和Bean方式)
  6. 法拍房数量激增数百倍!来看看这里面的数据...
  7. kafka消息存储格式
  8. 华为Mate 40手机将于国庆节发售:搭载全新5nm芯片
  9. keil5破解安装包下载及STM32固件包下载
  10. 欠采样和过采样_过采样和欠采样
  11. windows服务启动程序_在Windows上快速启动程序的5种方法
  12. android图形计算器,Desmos图形计算器
  13. vue tsx render函数 transition动画不生效
  14. Aziz 的 UiPath 工具面试经验
  15. 创建程序编写demo.py文件
  16. VMware虚拟机/Hyper-V在(校园网/PPPoe拨号上网)环境无法上网解决方案
  17. Getting in Shape
  18. Bayes,HMM,MRF Gibbs Distribution在图像降噪中的应用
  19. 二手车 电商+互联网金融的三种新玩法
  20. linux系统可以玩星际争霸吧,暴雪携手DeepMind推出《星际争霸2》API工具,玩家可以“调教”AI打游戏了...

热门文章

  1. JS event使用方法详解
  2. android中TextView显示中文发生乱码的问题
  3. android开发调用照相机
  4. Java常见内存溢出(OOM)解决方案
  5. Java注释(Annotation)详解
  6. 汇编中的条件转移指令
  7. jvm:运行时数据区--方法返回地址
  8. 《深入理解计算机系统》读书笔记二:内存,高速缓存存储器
  9. 史上最通俗易懂的IPFS入门介绍:01
  10. 网络测试与分析工具简介