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

WebSecurityConfigurerAdapter无法解析,Spring Boot OAuth2.0配置遇阻

Spring Boot OAuth2.0 配置(替代废弃的WebSecurityConfigurerAdapter)

Spring Security 5.7.0版本开始,WebSecurityConfigurerAdapter被标记为废弃,官方推荐采用基于组件的配置方式,通过注册SecurityFilterChain类型的Bean来替代原有的继承重写逻辑。以下是适配你需求的最新配置写法:

@EnableWebSecurity
public class SecurityConfig {

    @Bean
    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
        http
            // 配置请求授权规则,使用lambda传入自定义配置器
            .authorizeHttpRequests(auth -> auth
                .antMatchers("/").permitAll()
                .anyRequest().authenticated()
            )
            // 启用OAuth2登录功能,可在lambda内添加自定义配置(如登录页、处理器等)
            .oauth2Login(oauth2 -> oauth2
                // 示例:自定义登录成功处理器(不需要可删除此段)
                // .successHandler(customOAuth2SuccessHandler())
            );
        
        return http.build();
    }

    // 若需自定义OAuth2登录相关处理器,可额外注册对应的Bean(不需要可删除)
    // @Bean
    // public OAuth2AuthenticationSuccessHandler customOAuth2SuccessHandler() {
    //     return new CustomOAuth2SuccessHandler();
    // }
}

关键改动说明:

  • 不再继承WebSecurityConfigurerAdapter,转而通过@Bean定义SecurityFilterChain来配置安全规则
  • authorizeHttpRequests()方法需传入lambda形式的自定义配置器,内部逻辑和原代码一致,只是写法调整为更清晰的函数式风格
  • oauth2Login()同样支持通过lambda扩展配置,比如指定登录页面、自定义成功/失败处理器等,不需要额外配置时可简化为.oauth2Login()

如果需要配置用户认证相关逻辑(比如自定义UserDetailsService),也直接通过@Bean注册即可,无需重写旧版的configure(AuthenticationManagerBuilder)方法。

内容的提问来源于stack exchange,提问作者ANMOL KUMAR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 00:26:04