tnblog
首页
视频
资源
登录

mvc过滤器

4302人阅读 2019/4/27 21:20 总访问:52582 评论:0 收藏:0 手机
分类: .NET


过滤器:

 

过滤器(filter):是基于AOP(面向接口编程)的设计,它的作用是对MVC框架处理客户端请求注入额外的逻辑 

本质:就是实现一个特定接口或者父类的特殊类 

使用时,不会影响主逻辑,可以额外添加效果(如用户登录权限)

需要时就就根据所需添加作用域,不需要时直接删掉就可以了,非常直接方便

 

 

过滤器的作用域:

 

全局过滤器

  所有控制器都受到限制:

  在App_Start文件的FilterConfig类中添加全局过滤器

            


控制器级别过滤器

  个别控制器受到限制:

        

  像这样,[过滤器名称] 的形式写到相应的控制器

 

action级别过滤器

限制到某个action 

  备注:[AllowAnonymous] 可以用这个方式来跳过Authorization过滤器

 

 

过滤器的分类:

 

    此表格是按运行优先级排列,Excption过滤器除外

    BaseController(控制器)可以和过滤器同时存在且优先级于过滤器

    (控制器本身也是一个过滤器)

过滤器类型

接口

描述

Authorization

IAuthorizationFilter

最早运行的过滤器,在其他过滤器与action之前

Action

IActionFilter

action之前和之后运行

Result

IResultFilter

actionResult之前和之后运行

Excption

IExceptionFilter

在抛出错误时运行

 

 

过滤器的优先级:

 

本身存在优先级

设置优先级

  ü 改变参数

  如图所示,参数越小越优先运行,若是同级,则按顺序运行

         

  ü 改变参数

  通过order设置

  [过滤器名称(order=数值)]

  数值越小,优先运行,若是同级,则按顺序运行

 

 


评价
没有个性,不需要签名
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
欢迎加群交流技术