过滤器 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()));
 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM