SpringSecurity:There is no PasswordEncoder mapped for the id “null“

文章目录

一、情景说明

在整合SpringSecurity功能的时候

我先是去实现认证功能

也就是,去数据库比对用户名和密码

相关的类:

java 复制代码
UserDetailsServiceImpl implements UserDetailsService	用于SpringSecurity查询数据库
LoginUser implements UserDetails	用于封装SpringSecurity的用户信息及权限信息
SysUser		对应数据库的实体类

表数据

可以看出,密码是123

当我用test,123登陆时,就包这个错误

二、分析

此时,我们没有增加SecurityConfig配置类,所以,没给容器注入PasswordEncoder对应的实现类

所以,SpringSecurity在进行用户认证的时候,密码对应不上。

三、解决

1、直接给SpringBoot容器注入BCryptPasswordEncoder密码加密解析类。

2、在数据的密码设置改成:{noop}123,加个{noop}前缀,则SpringSecurity会知道是明文校验

相关推荐
慕y27421 分钟前
Java学习第九十六部分——Eureka
java·学习·eureka
头发那是一根不剩了1 小时前
信创应用服务器TongWeb安装教程、前后端分离应用部署全流程
java·信创·tongweb
22:30Plane-Moon1 小时前
Servlet作用域,监听器,JSP九大内置对象
java·开发语言·servlet
小白(猿)员2 小时前
JVM、JDK、JRE的区别
java·开发语言·jvm
axban2 小时前
QT中删除控件的注意事项、deleteLater和delete的区别
java·数据库·qt
MicoZone2 小时前
JDK源码
java
喜欢敲代码的程序员2 小时前
SpringBoot+Mybatis+MySQL+Vue+ElementUI前后端分离版:日志管理(四)集成Spring Security
spring boot·mysql·spring·vue·mybatis
Resean02233 小时前
SpringMVC 6+源码分析(二)DispatcherServlet实例化流程 1
java·spring boot·spring·servlet·springmvc
泉城老铁3 小时前
Spring Boot 对接阿里云 OSS 的详细步骤和流程
java·后端·程序员
陈平安安4 小时前
Maven学习
java·maven