文章目录
- 一、情景说明
- 二、分析
- 三、解决
一、情景说明
在整合SpringSecurity
功能的时候
我先是去实现认证功能
也就是,去数据库比对用户名和密码
相关的类:
UserDetailsServiceImpl implements UserDetailsService 用于SpringSecurity查询数据库
LoginUser implements UserDetails 用于封装SpringSecurity的用户信息及权限信息
SysUser 对应数据库的实体类
表数据
可以看出,密码是123
当我用test,123
登陆时,就包这个错误
二、分析
此时,我们没有增加SecurityConfig
配置类,所以,没给容器注入PasswordEncoder
对应的实现类
所以,SpringSecurity
在进行用户认证的时候,密码对应不上。
三、解决
1、直接给SpringBoot
容器注入BCryptPasswordEncoder
密码加密解析类。
2、在数据的密码设置改成:{noop}123
,加个{noop}
前缀,则SpringSecurity
会知道是明文校验