Spring просмотр порядка фильтров, которые не являются фильтрами безопасности

#spring-boot

#spring-загрузка

Вопрос:

Я хотел бы просмотреть все зарегистрированные цепочки фильтров и их порядок. Я вижу, что это можно сделать с помощью метода FilterChainProxys getFilterChains(), но это только для тех, которые основаны на безопасности. Я также хотел бы просмотреть фильтры, не основанные на безопасности

Ответ №1:

Если вы используете Spring Boot, вы можете включить ведение журнала трассировки org.springframework.boot.web.servlet.ServletContextInitializerBeans , и вы увидите журналы, подобные приведенным ниже, которые предоставляют вам фильтры и порядок (фильтры, не связанные с безопасностью / не связанные с безопасностью)

 logging:
  level:
    org.springframework.boot.web.servlet.ServletContextInitializerBeans: TRACE
 

При запуске вы увидите что-то вроде приведенного ниже

     2021-12-06 23:00:55.796 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Added existing Filter initializer bean 'securityFilterChainRegistration'; order=-100, resource=class path resource [org/springframework/boot/autoconfigure/security/servlet/SecurityFilterAutoConfiguration.class]
    2021-12-06 23:00:55.797 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Added existing Servlet initializer bean 'dispatcherServletRegistration'; order=2147483647, resource=class path resource [org/springframework/boot/autoconfigure/web/servlet/DispatcherServletAutoConfiguration$DispatcherServletRegistrationConfiguration.class]
    2021-12-06 23:00:55.797 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Added existing Servlet initializer bean 'h2Console'; order=2147483647, resource=class path resource [org/springframework/boot/autoconfigure/h2/H2ConsoleAutoConfiguration.class]
    2021-12-06 23:00:56.008 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'characterEncodingFilter'; order=-2147483648, resource=class path resource [org/springframework/boot/autoconfigure/web/servlet/HttpEncodingAutoConfiguration.class]
    2021-12-06 23:00:56.009 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'hiddenHttpMethodFilter'; order=-10000, resource=class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.class]
    2021-12-06 23:00:56.011 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'formContentFilter'; order=-9900, resource=class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.class]
    2021-12-06 23:00:56.011 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'requestContextFilter'; order=-105, resource=class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter.class]
    2021-12-06 23:00:56.011 TRACE 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Created Filter initializer for bean 'corsFilter'; order=2147483647, resource=class path resource [org/shailendra/config/CorsConfig.class]
    2021-12-06 23:00:56.024 DEBUG 25652 --- [  restartedMain] o.s.b.w.s.ServletContextInitializerBeans : Mapping filters: springSecurityFilterChain urls=[/*], characterEncodingFilter urls=[/*], hiddenHttpMethodFilter urls=[/*], formContentFilter urls=[/*], requestContextFilter urls=[/*], corsFilter urls=[/*]