You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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/**");
}

额外检查

  1. 确认Spring Boot版本:查看pom.xml中spring-boot-starter-parent的版本,2.7.x及以上必须使用上述新配置方式。
  2. 刷新Maven依赖:执行mvn clean install或在IDE中重新加载依赖,确保依赖包正确下载。

内容的提问来源于stack exchange,提问作者Nunyet Calçada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 12:01:06