Spring Security 6.1求助:Spring Boot 3中authorizeHttpRequests已弃用问题
以下是适配Spring Security 6(Spring Boot 3默认集成)的修正代码,同时优化了配置风格:
@Bean public SecurityFilterChain adminFilterChain(HttpSecurity http) throws Exception { http .authenticationProvider(authenticationProvider2()) .securityMatcher("/admin/**") .authorizeHttpRequests(auth -> auth .anyRequest().authenticated() ) .formLogin(form -> form .loginPage("/admin/login") .usernameParameter("username") .loginProcessingUrl("/admin/login") .defaultSuccessUrl("/admin/AdminDashBoard") .permitAll() ) .logout(logout -> logout .logoutUrl("/admin/logout") .invalidateHttpSession(true) .logoutSuccessUrl("/") ); return http.build(); }
关键修改说明
- 替换弃用API:无参的
authorizeHttpRequests()被替换为接受lambda参数的重载方法,这是Spring Security 6的官方推荐写法,替代了旧版本的链式and()调用。 - 统一配置风格:
formLogin和logout配置也改用lambda表达式,让代码结构更清晰,避免因and()使用不当导致的配置顺序问题。 - 保留原有逻辑:所有业务规则(登录页、登录处理地址、登出逻辑等)完全保留,仅调整API适配新版本。
内容的提问来源于stack exchange,提问作者Giddy
相关产品推荐
相关产品推荐

