spring security密码不加密

2018-11-02  本文已影响101人  nextliving

spring security5之前的版本中,如果想让密码不被加密,可以使用NoOpPasswordEncoder类。但是spring security5之后的版本中NoOpPasswordEncoder类被废弃了,必须对密码加密,也就是必须配置PasswordEncoder,比如使用BCryptPasswordEncoder。

那么怎么不对密码做加密处理呢?可以自定义一个PasswordEncoder,该类需实现org.springframework.security.crypto.password.PasswordEncoder接口,一个自定义的PasswordEncoder如下:

public class JWTPasswordEncoder implements PasswordEncoder {

    @Override
    public String encode(CharSequence charSequence) {
        //不做任何加密处理
        return charSequence.toString();
    }

    @Override
    public boolean matches(CharSequence charSequence, String s) {
        //charSequence是前端传过来的密码,s是数据库中查到的密码
        if (charSequence.toString().equals(s)) {
            return true;
        }
        return false;
    }
}

参考

上一篇 下一篇

猜你喜欢

热点阅读