Spring Security中SecurityFilterChain过滤器执行顺序原理疑问
Spring Security SecurityFilterChain 过滤器执行顺序疑问
我正在学习Spring Security,对SecurityFilterChain的过滤器执行顺序感到困惑。以下是官方文档中的代码片段:
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(Customizer.withDefaults()) .authorizeHttpRequests(authorize -> authorize .anyRequest().authenticated() ) .httpBasic(Customizer.withDefaults()) .formLogin(Customizer.withDefaults()); return http.build(); } }
官方文档说明其执行顺序为:首先调用CsrfFilter防范CSRF攻击,其次调用认证过滤器进行请求认证,最后调用AuthorizationFilter进行请求授权。但该说明未解释原因,且与我理解的「按配置代码顺序(csrf→authorizeHttpRequests→httpBasic→formLogin)执行」相冲突,现有相关讨论并未解答此疑问。
内容的提问来源于stack exchange,提问作者ptter
相关产品推荐
相关产品推荐

