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

embedded/2025/2/1 7:12:08/

文章目录

  • 一、情景说明
  • 二、分析
  • 三、解决

一、情景说明

在整合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会知道是明文校验


http://www.ppmy.cn/embedded/158567.html

相关文章

Baklib如何变革企业知识管理提升工作效率与市场竞争力分析

内容概要 在当今数字化迅速发展的时代,企业面临着管理和运用知识资源的重大挑战。Baklib知识中台应运而生,成为企业提升知识管理的重要工具。通过构建一个集中化的平台,Baklib不仅使得知识的获取、分享和应用变得更加高效,同时也…

第23篇:Python开发进阶:详解测试驱动开发(TDD)

第23篇:测试驱动开发(TDD) 内容简介 在软件开发过程中,测试驱动开发(TDD,Test-Driven Development)是一种强调在编写实际代码之前先编写测试用例的开发方法。TDD不仅提高了代码的可靠性和可维…

pytorch实现门控循环单元 (GRU)

特性GRULSTM计算效率更快,参数更少相对较慢,参数更多结构复杂度只有两个门(更新门和重置门)三个门(输入门、遗忘门、输出门)处理长时依赖一般适用于中等长度依赖更适合处理超长时序依赖训练速度训练更快&am…

DeepSeek R1与OpenAI o1深度对比

文章目录 引言技术原理DeepSeek R1OpenAI o1 性能表现官方数据推理任务知识密集型任务通用能力 价格对比应用场景科研与技术开发自然语言处理(NLP)企业智能化升级教育与培训数据分析与智能决策 部署与集成DeepSeek R1OpenAI o1 伦理考量DeepSeek R1OpenA…

31. C语言 命令行参数

本章目录: 前言:什么是命令行参数?一个简单的示例运行结果 命令行参数的常见使用场景带空格的参数 高级命令行参数解析使用 getopt_long 的示例示例运行 注意事项进一步的实践:实现多功能程序总结 前言: 在 C 语言中,…

【机器学习】深入探索SVM:支持向量机的原理与应用

目录 🍔 SVM引入 1.1什么是SVM? 1.2支持向量机分类 1.3 线性可分、线性和非线性的区分 🍔 小结 学习目标 知道SVM的概念 🍔 SVM引入 1.1什么是SVM? 看一个故事,故事是这样子的: 在很久以前的情人节&#xf…

【ArcGIS遇上Python】批量提取多波段影像至单个波段

本案例基于ArcGIS python,将landsat影像的7个波段影像数据,批量提取至单个波段。 相关阅读:【ArcGIS微课1000例】0141:提取多波段影像中的单个波段 文章目录 一、数据准备二、效果比对二、python批处理1. 编写python代码2. 运行代码一、数据准备 实验数据及完整的python位…

超级强大的压缩和解压工具,免费解压

软件介绍 今天要给大家分享一款超厉害的软件 ——ZArchiver,在我心中,它堪称安卓平台目前最为强大的解压软件。 之前,我一直使用 MT 管理器来解压文件。然而,MT 管理器存在一些局限性。比如在处理解压分卷文件时,它有时…