UserDetial.getPassword返回null

Posted dlage

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}

以上是关于UserDetial.getPassword返回null的主要内容,如果未能解决你的问题,请参考以下文章

PB函数大全

C语言中返回值问题

Mybatis执行sql(insertupdatedelete)返回值问题

c#函数接受整数n并返回可以除以除数1..n的最小数

c语言用带参数带返回值的函数实现功能:从键盘上输入一个整数n,计算n !.

mysql--返回第N高的薪水(不存在返回null)