Spring Boot在2.7.0 M2版本之后弃用了WebSecurityConfigurerAdapter
类,虽然目前这个类还可以用,但是在之后不久的版本应该就会完全移除了。Spring Boot团队提供了一个从旧风格转向新风格的用例表,就是这篇https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter。
在旧版中,要配置用户认证服务,可以覆盖WebSecurityConfigurerAdapter
的configure(AuthenticationManagerBuilder auth)方法,就像下面这样:
1 public class WebSecurityConfig extends WebSecurityConfigurerAdapter { 2 3 @Override 4 protected void configure(@NotNull AuthenticationManagerBuilder auth) throws Exception { 5 auth.userDetailsService(userService).passwordEncoder(passwordEncoder()); 6 } 7 8 }
Spring Boot团队的用例表中只给出了LDAP认证的编写方法,但是没有使用UserService的改写方法,有谁知道如何不用WebSecurityConfigurerAdapter
写出用户认证服务的配置吗?
其实在新的安全配置里,已经不需要这几行代码了,只要定义好UserService和PasswordEncoder这两个Bean,Spring Security会自动使用这两个Bean。