升级到spring security5遇到的坑-密码存储格式

2023-11-09

遇到的问题
将spring security oauth2(包括spring security)升级到最新,代码没有改动,运行项目没有报错,但是页面登陆时报错:There is no PasswordEncoder mapped for the id “null”

然后一顿百度和google,其中看到两处有帮助的资料:
https://www.cnblogs.com/majianming/p/7923604.html
https://spring.io/blog/2017/11/01/spring-security-5-0-0-rc1-released

总的来说就是,人家把spring security的密码存储格式改了,没办法,用人家的东西就要按照人家规定的做,将所有的密码格式改掉吧。

格式:{id}encodedPassword

这id是一个标识符,用于查找是哪个PasswordEncoder,也就是你密码加密的格式所对应的PasswordEncoder。encodedPassword是指原始加密后的密码(有点绕,简单来说就是你原来存储的密码)。在id必须在密码的开始,id前后必须加{}。如果id找不到,id则会为空。
spring security中的所有默认的密码格式都是在PasswordEncoderFactories这个 类中,可以进入这个类中自行查看。

注意:
1. 前端发送的登陆密码,是不需要为{id}encodedPassword格式的。
2. 如果你配置了spring security oauth2

@Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory().withClient("client").secret("{noop}secret")
                .authorizedGrantTypes("client_credentials", "password", "refresh_token").scopes("all");
    }

代码中的secret也必须{id}encodedPassword格式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

升级到spring security5遇到的坑-密码存储格式 的相关文章

随机推荐

  • C++:构造/析构/赋值运算(Effective C++)

    文章目录 写在前面 05 了解C 默默编写并调用哪些函数 06 若不想使用编译器自动生成的函数 就该明确拒绝 10 令operator 返回一个reference to this 11 在operator 中处理 自我赋值 12 复制对象时
  • linux网络测速qerf,www.n5fe.com

    河北承德电信 104 27 149 3 CLOUDFLARE COMcloudflare com 200 0 937s 0 019s 0 182s 0 003s 0 35KB 936 667Kb s 查看 HTTP 1 1 200 OK D
  • java构建菜单权限树形结构给前端

    1 建个菜单权限表 CREATE TABLE system permission id bigint 19 NOT NULL COMMENT id permission name varchar 50 CHARACTER SET utf8m
  • 微信分布式数据存储协议对比——Paxos和Quorum

    微信分布式数据存储协议对比 Paxos和Quorum 2017 4 19 1 36 00 作者丨莫晓东 责编丨仲培艺 分布式系统是网络化的计算机系统 海量数据的互联网应用只能通过分布式系统协调大量计算机来支撑 微信后台存储大量使用了分布式数
  • 夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式。

    夏普GP2Y0AYK0F红外测距传感器在STM32F103C8T6中的使用及电压转换公式 1 夏普GP2Y0AYK0F红外测距传感器介绍 参数介绍 品牌 夏普SHARP 型号 GP2Y0A21YK0F 产地 日本 Japan 类型 红外测距
  • 企业数字化转型成熟度模型首个IOMM标准发布 企业数字化有章可循

    科技云报道原创 9月8日 由中国信息通信研究院 简称 中国信通院 云计算与大数据研究所 中国通信标准化协会云计算标准和开源推进委员会主办 云计算开源产业联盟承办的 企业数字化转型IOMM发布会 在线召开 会上中国信通院联合银行 保险 能源
  • TSDB时序数据库-OpenTSDB

    TSDB时序数据库 OpenTSDB 背景 一 概念 二 使用引入 背景 需要及时获取短信发送消息队列的堆积情况 pass将相关信息及时的存入了opentsdb时序数据库中 现需要读取时序数据库将堆积情况以短信形式通知 一 概念 时间序列数
  • Java基础----常用类

    0 Intellij Idea 快捷键 ALT SHIFT 0 生成构造器或setter getter IDEA的Debug IDEA导入已有的模块 1 字符串相关的类 1 1 String类 String源码 public final c
  • 【核磁共振成像】临床基本通用脉冲序列

    目录 一 脉冲序列 二 自旋回波 SE 脉冲序列 2 1 自旋回波脉冲序列 2 2 信噪比 差噪比 2 3 采样 2 4 改进的自旋回波变型序列 三 反向恢复 IR 脉冲序列 3 1 反向恢复脉冲序列 3 2 关于反向恢复脉冲序列的改进 四
  • RDS for MySQL 物理备份文件恢复到自建数据库

    文档在这 我主要说下注意事项 https help aliyun com knowledge detail 41817 html 操作系统中已安装数据恢复工具Percona XtraBackup 您可以从Percona XtraBackup
  • 机器学习-算法决策树学习笔记(详解)

    决策树的概念 决策树是一种非参数的监督学习方法 既可以用于分类 也可以用于回归 决策树的目标是创建一个模型 从数据特征中进行学习 进而推断出简单决策规则 用来预测目标变量的值 决策树的决策过程就是从根节点开始 测试待分类项中对应的特征属性
  • 从AOP到分布式链路追踪

    文章目录 1 aop介绍 2 1 spring aop 2 2 jdk动态代理 2 分布式链路追踪 2 1 日志规范 2 2 Spring Log组件 2 3 MDC介绍以及使用 3 接入 3 1 侵入式接入 3 2 aop接入 4 中间件
  • Nginx 可视化管理平台 Nginx-Proxy-Manager 中文入门指南

    今天给大家介绍一款 Nginx 可视化管理界面 非常好用 小白也能立马上手 nginx proxy manager 是一个反向代理管理系统 它基于 NGINX 具有漂亮干净的 Web UI 还可以获得受信任的 SSL 证书 并通过单独的配置
  • QT中的绝对路径和相对路径

    绝对路径 app applicationDirPath 这个获取的就是一个绝对路径 是程序运行时的绝对路径 如果是debug模式 绝对路径定位到debug文件 QDir currentPath 这个获取的是工作目录的绝对路径 在工程中点击运
  • echart旭日图_ECharts 旭日图

    ECharts 旭日图 旭日图 Sunburst 由多层的环形图组成 在数据结构上 内圈是外圈的父节点 因此 它既能像饼图一样表现局部和整体的占比 又能像矩形树图一样表现层级关系 ECharts 创建旭日图很简单 只需要在 series 配
  • 检测到“RuntimeLibrary”的不匹配项

    1 gt libCGAL vc140 mt 4 4 I 900 lib all files obj error LNK2038 检测到 RuntimeLibrary 的不匹配项 值 MT StaticRelease 不匹配值 MD Dyna
  • golang处理execl文件

    1 引入execl依赖包 go get github com xuri excelize v2 2 打开execl文件 并获取句柄 打开文件 获取句柄 f err excelize OpenFile path if err nil fmt
  • elasticsearch全文检索流程

    elasticsearch全文检索流程 elasticsearch全文检索流程 索引过程 创建索引 获得原始文档 创建文档对象 分析文档 创建索引 查询索引 elasticsearch全文检索流程 索引过程 索引过程 对要搜索的原始内容进行
  • java中包装类的作用

    Java中包装类的作用 一 包装类是什么 包装类就是解决java的八种基本数据类型不面向对象的缺陷 而设计出来的一个个与每一个与基本类型相对应的类 这八种基本数据类型对应的类统称包装类 Wrapper Class 包装类均位于java la
  • 升级到spring security5遇到的坑-密码存储格式

    遇到的问题 将spring security oauth2 包括spring security 升级到最新 代码没有改动 运行项目没有报错 但是页面登陆时报错 There is no PasswordEncoder mapped for t