我有多个使用javax.servlet.Filter
机制的定制Java库,并且我想确保集成这些库的开发人员不会使用@Order(Ordered.HIGHEST_PRECEDENCE)
创建自定义应用程序过滤器。
伙计们,如果您知道一种从ApplicationFilterConfig
收集所有ApplicationFilterChain
及其过滤器Order
的方法,那就太好了。
我认为,当Spring初始化上下文以检查是否存在多个优先级最高的过滤器时,或者在注册过滤器时(如果可以实现或钩接到任何SpringFilterResister)。
谢谢!
后来修改:
由于我没有找到获取Order
的{{1}}的方法,因此我只是验证了其他客户端是否尝试向Filter
注册Bean
。在显示代码之前,有两种将过滤器注册到过滤器链的方法:
1.实现Ordered.HIGHEST_PRECEDENCE
并用javax.servlet.Filter
进行注释(默认情况下优先级最低)
2.在@Component
类下使用FilterRegistrationBean.class
。
话虽如此,我只是检查是否有人使用了以下两种注册过滤器的方式:
@Configuration
希望会帮助别人!干杯!