SpringSecurity默认的过滤器链:
进行下列配置后:
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http.build();
}
过滤器链变为
进行下列配置后:
// 配置过滤器链以及一些规则
// 返回的这个http.build()也导致了关闭刚开始访问任意接口时都出现的默认登录页
// 并不是我们在这个方法中对http的配置导致的, 仅仅是由于 return http.build(); 这一行
@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
http
// 在过滤器链中移除了CsrfFilter
.csrf().disable()
// 不创建HttpSession, 不使用HttpSession获取SecurityContext
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
.antMatchers("/user/login").anonymous()
.anyRequest().authenticated();
// 增加过滤器
http.addFilterBefore(authenticationFilter, UsernamePasswordAuthenticationFilter.class);
http.addFilterBefore(exceptionHandlerFilter, CorsFilter.class);
return http.build();
}