WebSecurityConfigurerAdapter被替换了,如何创建BCryptPasswordEncoder()
时间: 2023-10-26 15:16:33 浏览: 78
如果您正在使用 Spring Security 5.x 版本,WebSecurityConfigurerAdapter 已被弃用并替换为更通用的接口 WebSecurityConfigurer。在 WebSecurityConfigurer 中,您可以通过覆盖 configure 方法来配置 Spring Security。要使用 BCryptPasswordEncoder,您可以在 configure(AuthenticationManagerBuilder auth) 方法中配置它,如下所示:
```
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsService userDetailsService;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService)
.passwordEncoder(new BCryptPasswordEncoder());
}
// other configuration methods here
}
```
在这里,您需要注入 UserDetailsService 并使用它来配置 AuthenticationManagerBuilder。同时,您需要为密码编码器指定 BCryptPasswordEncoder。这样,当用户通过登录页面进行身份验证时,Spring Security 将自动使用该密码编码器对密码进行哈希,以便在后续的身份验证中进行比较。
阅读全文