Web Api的过滤器(Filter)使用的面向切面(Aspect Oriented Programming)的编程思想,该机制使得编程人员可以很方便的向Web Api的主逻辑中添加一些额外的逻辑,比如身份验证预授权、数据模型验证以及格式化异常处理等。
在实际编程实现中,过滤器其实就是作用于Web Api Controller的一个或多个Action之上的Attribute。以下是比较常用的可供实现自定义过滤器的接口和类。
接口 | 类 | 简介 |
---|---|---|
IActionFilter | ActionFilterAttribute | 向Action运行前后添加逻辑;其OnActionExecuting函数作用于Action运行前,OnActionExecuted函数作用于Action运行后 |
IAuthenticationFilter | 在Action运行前对请求方进行身份验证 | |
IAuthorizationFilter | AuthorizationFilterAttribute | 在Action运行前对请求方进行权限验证 |
IExceptionFilter | ExceptionFilterAttribute | Action运行结束后进行异常捕获及处理 |