过滤器 FilterAttribute 的使用
在开发项目过程中,我们访问某些接口的时候,经常需要做权限验证等。而在每个控制器中写权限验证就显得重复冗余,所以我们使用过滤器FilterAttribute来处理一些接口权限、参数验证的问题。
只需要写好一个过滤器类,然后在需要的控制器或者接口前面加上就可以很方便是起到验证的作用。
一、写一个过滤器类,类名要以FilterAttribute结尾,并且继承 ActionFilterAttribute
public class UserFilterAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { //业务逻辑 } }
二、在类中重写 OnActionExecuting 方法并在其中写好业务逻辑就可以了
三、使用过滤器
在需要过滤的类或者方法前面加特性标志就可以了
四、如果要全局使用,可以在Startup启动类中添加服务
有两种方法:
方法一
public void ConfigureServices(IServiceCollection services) { services.AddControllers(s=>s.Filters.Add(typeof(UserFilterAttribute)));
}
方法二
public void ConfigureServices(IServiceCollection services) { services.AddControllers(s=>s.Filters.Add(new UserFilterAttribute())); }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步