蓝迷梦

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

springboot中对拦截器进行重置的方法

springboot中对拦截器进行重置的方法

 

  1. 背景:springboot项目中,依赖一个权限管理的jar包,jar包中通过拦截器对请求进行了拦截验证,而权限验证jar不能进行排除依赖时,如果需要自定义权限验证或校验,应该怎么做呢?

     

     

 

 思路和实现:

1.在spring boot启动的过程中,将已注册的拦截器从spring容器中移除,然后新建自定义拦截器,然后注入spring容器。

新建一个类NotSecurity并实现ApplicationContextAware的setApplicationContext方法,在方法中进行bean操作。

 

 

2.根据spring boot容器加载顺序,我们可以自定义配置类,在配置类中清除原有的拦截器,然后自定义自己的拦截器。

新建一个NotSecurity类并实现WebMvcConfigurer接口的addInterceptors方法。

  

 

注意红框中清除原来拦截器的处理,如果不处理,则新的同名拦截器不会覆盖原有拦截器,而是继续添加进拦截器数组中。

还有需要注意的一点是:@AutoConfigureAfter(SecurityConfiguration.class),必须注明本类拦截器配置必须在原拦截器配置之后加载,这一点非常重要。

如果我们添加AutoConfigureAfter注解后配置类的加载顺序不正确,需要在resources文件夹下的MATE-INFO文件夹下的spring.factories文件中添加两个配置类的路径,如下:

 

 至此,我们就完成了自定义拦截器替代jar包中的拦截器。

 

声明:转载请说明出处。

 

posted on   蓝迷梦  阅读(752)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示