zoukankan      html  css  js  c++  java
  • 使用spring security明文密码校验时报错-BadCredentialsException: Bad credentials

    问题描述-

    在学习spring security时使用明文密码进行登录校验时报错"org.springframework.security.authentication.BadCredentialsException: Bad credentials(坏 凭 证)",

    1`校验时数据库密码同样是明文密码

    2`校验时已经将{noop}拼接但还是报错

    问题解决-

    使用spring security5.0后,配置文件中直接写普通的密码如:123456,会报错:

    java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null"

    这是因为spring security5.0以后默认需要选择密码加密方式,如果还想用简单密码的话,spring security还是给了两个方案,一种是在配置文件中配置:

    1`在xml中配置NoOpPasswordEncoder 

    <bean id="passwordEncoder" class="org.springframework.security.crypto.password.NoOpPasswordEncoder" factory-method="getInstance"/>

    2`在你校验时密码拼接{noop}

    "{noop}"+userInfo.getPassword()

    问题后续-

    在使用方法2时,既xml配置没有设置使用加密密码编码(PasswordEncoder)时,校验时拼接{noop}依旧检验不成功,原因未知.

    后选用在xml中配置不适用加密编码时,去掉拼接的{noop}校验成功了.

    再使用bCryptPasswordEncoder.encode(password)方法生成加密密码后手动存入数据库,再开启xml的配置一切正常.

    参考地址https://blog.csdn.net/qq_42197032/article/details/101379132

  • 相关阅读:
    Differential Geometry之第六章平面曲线的整体性质
    球盒问题
    Fiddler (二) Script 用法
    Mac下使用Fiddler
    更新mac自带的python
    在Linux里设置环境变量的方法(export PATH)
    关于null和undefined
    ANE在ios上的使用流程和问题解决
    starling 笔记
    Android SDK安装时碰到的问题之解决办法
  • 原文地址:https://www.cnblogs.com/YFEYI/p/15107268.html
Copyright © 2011-2022 走看看