UserDetial.getPassword返回null

if (!passwordEncoder.matches(password, userDetails.getPassword())) {
    throw new BadCredentialsException("密码不正确");
}

问题描述:

passwordEncoder.matches() 参数一个未加密和一个加密的变量。加密的变量是使用Springboot的BCryptPasswordEncoder加密得来。加密密码通过查询数据库获取。已经设置到UserDetail里面了。

这段代码,password变量的值是"password",userDetails.getPassword()返回值是空值。

解决途径:

需要解决userDetails.getPassword()返回空值的问题,密码其实已经在变量里面了

解决:getPassword方法没有重写,会一直返回null

@Override
public String getPassword() {
    return null;
}
@Override
public String getPassword() {
    return umsAdmin.getPassword();
}
posted @ 2021-09-14 10:29  dlage  阅读(13)  评论(0编辑  收藏  举报  来源