在设置密码的时候,按照官方文档中的方式如下:
UserBuilder users = User.withDefaultPasswordEncoder();
但是User.withDefaultPasswordEncoder()已经标注为弃用@Deprecated。通过withDefaultPasswordEncoder()方法的注释我们知道了,推荐我们采用如下方法进行配置。
PasswordEncoder passwordEncoder = PasswordEncoderFactoies. createDelegatingPasswordEncoder();
serDetails user = User
.withUsername("yun")
.password(passwordEncoder.encode("123456"))
.roles("USER")
.build();
即:
- 先生成passwordEncoder实例,
- 使用passwordEncoder实例的encode()方法对密码加密后,
- 再设置到UserDetails实例中的password()方法上。