Từ Spring Security 6 (Spring Boot 3), WebSecurityConfigurerAdapter không còn tồn tại.
Thay vì kế thừa một adapter và override method, bạn khai báo một bean SecurityFilterChain:
java
@Configuration
@EnableWebSecurity
public class SecurityConfig {
@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
return http
.authorizeHttpRequests(auth -> auth
.requestMatchers("/api/public/**").permitAll()
.requestMatchers("/api/admin/**").hasRole("ADMIN")
.anyRequest().authenticated())
.csrf(csrf -> csrf.disable())
.sessionManagement(s -> s.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.build();
}
}Ba thay đổi cần nhớ khi migrate:
- antMatchers / mvcMatchers → requestMatchers.
- Lambda DSL thay cho chuỗi .and().
- Muốn nhiều rule khác nhau cho các nhóm URL thì khai báo nhiều bean SecurityFilterChain, sắp thứ tự bằng @Order và giới hạn phạm vi bằng securityMatcher.
Lợi ích: cấu hình trở thành bean bình thường nên inject được dependency, test được, và không còn ràng buộc kế thừa.