过滤器

本文详细介绍了ASP.NET MVC中的四种过滤器类型:授权筛选器、操作筛选器、结果筛选器及异常筛选器的功能及其执行顺序。授权筛选器负责安全决策;操作筛选器在操作方法前后执行;结果筛选器处理ActionResult对象;异常筛选器处理未捕获的异常。

一:操作筛选器的某些可能用途包括

    日志记录,目的是跟踪用户交互。

    “反图像攫取”,用于防止在自己网站之外的网页中加载图像。

    爬网程序筛选,用于根据浏览器用户代理来更改应用程序行为。

    本地化,用于设定区域设置。

二:过滤器类型

    授权筛选器。 这些筛选器用于实现 IAuthorizationFilter 和做出关于是否执行操作方法(如执行身份验证或验证请求的属性)的安全决策。 AuthorizeAttribute 类和 RequireHttpsAttribute 类是授权筛选器的示例。 授权筛选器在任何其他筛选器之前运行。

    操作筛选器。 这些筛选器用于实现 IActionFilter 以及包装操作方法执行。 IActionFilter 接口声明两个方法:OnActionExecuting 和 OnActionExecuted。 OnActionExecuting 在操作方法之前运行。 OnActionExecuted 在操作方法之后运行,可以执行其他处理,如向操作方法提供额外数据、检查返回值或取消执行操作方法。

    结果筛选器。 这些筛选器用于实现 IResultFilter 以及包装 ActionResult 对象的执行。 IResultFilter 声明两个方法:OnResultExecuting 和 OnResultExecuted。 OnResultExecuting 在执行 ActionResult 对象之前运行。 OnResultExecuted 在结果之后运行,可以对结果执行其他处理,如修改 HTTP 响应。 OutputCacheAttribute 类是结果筛选器的一个示例。

    异常筛选器。 这些筛选器用于实现 IExceptionFilter,并在 ASP.NET MVC 管道执行期间引发了未处理的异常时执行。 异常筛选器可用于执行诸如日志记录或显示错误页之类的任务。 HandleErrorAttribute 类是异常筛选器的一个示例。

三:过滤器执行顺序

    授权筛选器

    操作筛选器

    响应筛选器

    异常筛选器

 

转载于:https://www.cnblogs.com/xininuo/p/8466015.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值