1.过滤器简介
过滤器类似于java中的拦截器,用于请求的切面处理。所有的过滤器可以使用标签或者在Startup中注册。
2.身份验证过滤器
最先执行,他们的角色就是为了确定当前请求的用户是否有足够的权限进入本次请求。
可以短路请求,返回特定的结果。
可以通过实现IAsyncAuthorizationFilter或者IAuthorizationFilter来达到目的。
3.资源过滤器
资源过滤器在权限过滤之后,也可以涉及到其余管道的执行前后。可以通过实现IAsyncResourceFilter或者IResourceFilter接口实现。
4.Action过滤器
在Action方法执行前后,Action过滤器执行,可以通过实现IAsyncActionFilter或者IActionFilter实现
5.异常过滤器
未处理的异常会进入异常过滤器管道,在返回响应之前。可以实现IAsyncExceptionFilter或者IExceptionFilter接口。
6.结果过滤器
结果执行成功结束后,进入结果过滤。可以实现IAsyncResultFilter或者IResultFilter
7.一个Action过滤器的实例
在configservice中添加全局过滤:
只想给特定的方法执行过滤: