SpringBoot配置WebSecurityConfig时无法解析WebSecurityConfigurerAdapter
解决WebSecurityConfigurerAdapter无法解析的问题
问题原因
WebSecurityConfigurerAdapter在Spring Security 5.7.0+(对应Spring Boot 2.7.0+)版本中已被正式弃用并移除,如果你当前使用的Spring Boot版本是2.7.x及以上,或者3.x系列,就会出现找不到该类的错误。
解决方案
无需再继承WebSecurityConfigurerAdapter,改用基于Bean的配置方式:
方式1:配置SecurityFilterChain Bean
直接定义SecurityFilterChain替代原有配置逻辑:
@Configuration @EnableWebSecurity public class WebSecurityConfig { @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests(auth -> auth .anyRequest().authenticated() ) .formLogin(form -> form .loginPage("/login") .permitAll() ) .logout(logout -> logout .permitAll() ); return http.build(); } // 自定义用户认证示例 @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("user") .password("password") .roles("USER") .build(); return new InMemoryUserDetailsManager(user); } }
方式2:自定义WebSecurity(可选)
若需忽略特定路径的安全校验,可添加WebSecurityCustomizer Bean:
@Bean public WebSecurityCustomizer webSecurityCustomizer() { return (web) -> web.ignoring().antMatchers("/static/**", "/public/**"); }
额外检查
- 确认Spring Boot版本:查看
pom.xml中spring-boot-starter-parent的版本,2.7.x及以上必须使用上述新配置方式。 - 刷新Maven依赖:执行
mvn clean install或在IDE中重新加载依赖,确保依赖包正确下载。
内容的提问来源于stack exchange,提问作者Nunyet Calçada
相关产品推荐
相关产品推荐

