老师,真实业务场景中密码是怎么获取到的?
来源:5-6 实现授权码认证流程(2)
进击的中华田园犬
2019-10-12
@Component
public class UserDetailService implements UserDetailsService {
@Autowired
private PasswordEncoder passwordEncoder;
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// 真正的业务场景一定要读数据库的
return User.withUsername(username)
.password(passwordEncoder.encode("123456"))
.authorities("ROLE_ADMIN")
.build();
}
}
前面听课,老师说真实业务场景要读数据库校验密码。我们课程中是密码直接用固定的,那如果是真实场景,用户输入的账号密码我们是怎么获取到的?
写回答
1回答
-
JoJo
2019-10-14
你在这里读取数据库的密码放到user对象里,spring security会在PasswordEncoder里比对。你可以在这里获取到用户名,在PasswordEncoder接口的实现里获取到密码。关于Spring Security的原理,细节等等内容可以参考我的另一门课: https://coding.imooc.com/class/134.html
00
相似问题