SpringBoot3 集成 Shiro

Apache Shiro 是一个强大且易用的Java安全框架,提供了身份验证、授权、密码学和会话管理等功能。它被广泛用于保护各种类型的应用程序,包括Web应用、桌面应用、RESTful服务、移动应用和大型企业级应用。

Apache Shiro 没有Spring Security 那么多晦涩的概念和术语,其原理非常清晰易懂,也非常容易集成到自己的项目中。

SpringBoot 2.x 已于去年底End of life,升级到 SpringBoot 3 成了一件必须要做的事情,而SpringBoot 3 在集成 Shiro 时,有一些坑,也有一些与之前不同之处。

本文重点介绍不同之处,确保可以平滑的迁移到 SpringBoot 3。

SpringBoot 3 变化

Spring Boot 3.0 是一次重大修订,我们必须先要了解以下几点:

  • Java版本的最低要求:Java 17
  • 不再支持 Java EE API
  • 所有底层依赖项从 Java EE 迁移到了 Jakarta EE API,以 Jakarta EE 9 为基准并支持 Jakarta EE 10

请确保你的项目,满足上述条件,其影响最大的莫过于 Java EE 到Jakarta EE 的变化

敲黑板,从开发的角度来说,Java EE 到Jakarta EE 仅是包名的变化,Coding时使用到的类都是一样的,API也是一样的,没啥实质性变更。

Apache Shiro 变化

Shiro 从2.x版本开始,支持Spring Boot 3,但无论你是使用1.x的Starter,还是2.x的Starter,其默认还是使用的 JavaEE API ,也就是说,按照以往的配置方式,是无法集成到 Spring Boot 3 的,会报ClassNotFoundException 异常。

总之,Shiro 对 Spring Boot 3 的快速集成的支持度还不是那么的完善,官网的介绍也是寥寥几句,参考价值不大。但可以肯定的是,Shiro 2.x 是完全支持 Spring Boot 3,只是稍微麻烦一些而已。

SpringBoot3 集成 Shiro的 POM 配置

集成的总体思路就是将Shiro中的 JavaEE 依赖 替换为Jakarta EE,直接上代码:

Maven pom.xml 配置如下:

<!-- Shiro --> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-starter</artifactId> <classifier>jakarta</classifier> <version>2.0.1</version> <exclusions> <exclusion> <groupId>org.apache.shiro</groupId> <artifactId>shiro-crypto-cipher</artifactId> </exclusion> <exclusion> <groupId>org.apache.shiro</groupId> <artifactId>shiro-crypto-hash</artifactId> </exclusion> <exclusion> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> </exclusion> <exclusion> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-web</artifactId> <classifier>jakarta</classifier> <version>2.0.1</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <classifier>jakarta</classifier> <version>2.0.1</version> </dependency>

这段 pom 代码是核心,也可以看出,较之前相比,配置稍微复杂一些,但项目中的Code、yml配置,和之前是一模一样的,只需把 Maven 坐标修改一下,即可完美实现与SpringBoot 3的集成。

知晓了原理,是不是 So Easy

更多 Shiro Yaml 配置,可以参考:https://shiro.apache.org/spring-boot.html#configuration_properties

附录

完整的Spring Boot 3 与 Apache Shiro 集成的源码,可以访问此开源项目TyFast

至此分享结束!

Enjoy It!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1142514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF-Extract-Kit保姆级教程:布局检测与公式识别完整步骤

PDF-Extract-Kit保姆级教程&#xff1a;布局检测与公式识别完整步骤 1. 引言 1.1 学习目标 本文将带你全面掌握 PDF-Extract-Kit 的使用方法&#xff0c;重点聚焦于两大核心功能&#xff1a;文档布局检测 和 数学公式识别。通过本教程&#xff0c;你将能够&#xff1a; 独立…

PDF-Extract-Kit应用指南:图书馆文献数字化处理方案

PDF-Extract-Kit应用指南&#xff1a;图书馆文献数字化处理方案 1. 引言 在数字化时代&#xff0c;图书馆面临着海量纸质文献的电子化需求。传统的人工录入方式效率低下、成本高昂&#xff0c;且容易出错。为解决这一难题&#xff0c;PDF-Extract-Kit 应运而生——一个由科哥…

PDF-Extract-Kit教程:如何构建自定义PDF解析流程

PDF-Extract-Kit教程&#xff1a;如何构建自定义PDF解析流程 1. 引言 1.1 背景与需求 在科研、教育和企业文档处理中&#xff0c;PDF 是最常用的文件格式之一。然而&#xff0c;PDF 的非结构化特性使得从中提取文本、公式、表格等关键信息变得极具挑战。传统方法如简单 OCR …

DLSS版本切换实战:3步解决游戏画质卡顿问题

DLSS版本切换实战&#xff1a;3步解决游戏画质卡顿问题 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否遇到过这样的困扰&#xff1f;&#x1f680; 新买的RTX显卡明明性能强劲&#xff0c;但某些游戏更新后反而…

PDF-Extract-Kit实战:图书数字化处理全流程详解

PDF-Extract-Kit实战&#xff1a;图书数字化处理全流程详解 1. 引言 1.1 图书数字化的行业背景与挑战 随着知识数字化进程的加速&#xff0c;传统纸质图书、学术论文和扫描文档的电子化需求日益增长。然而&#xff0c;PDF作为最常见的文档格式之一&#xff0c;其内容结构复杂…

L298N电机驱动模块STM32硬件接口深度剖析

从零搭建一个能跑的电机控制系统&#xff1a;L298N STM32 硬件接口实战详解你有没有遇到过这样的场景&#xff1f;手里的STM32开发板代码跑得飞起&#xff0c;但一连上电机——要么不动&#xff0c;要么乱转&#xff0c;甚至MCU直接重启。问题出在哪&#xff1f;很可能不是你的…

PDF-Extract-Kit保姆级教程:多语言OCR识别配置

PDF-Extract-Kit保姆级教程&#xff1a;多语言OCR识别配置 1. 引言 1.1 技术背景与应用场景 在数字化办公和学术研究中&#xff0c;PDF文档的智能信息提取已成为一项高频需求。无论是科研论文中的公式、企业报表中的表格&#xff0c;还是扫描件中的文字内容&#xff0c;传统…

STM32+Keil5 MDK安装教程:解决兼容性问题的核心要点

手把手搭建STM32开发环境&#xff1a;Keil5 MDK安装避坑全指南 你是不是也曾在安装Keil5时被“Access Denied”拦在门外&#xff1f; 下载DFP包卡在99%动弹不得&#xff1f; ST-Link连上却提示“No target connected”&#xff0c;而你明明已经检查了十遍接线&#xff1f; …

PDF-Extract-Kit主题建模:自动分类文档内容

PDF-Extract-Kit主题建模&#xff1a;自动分类文档内容 1. 引言&#xff1a;智能文档提取的工程挑战与PDF-Extract-Kit的诞生 在科研、教育和企业办公场景中&#xff0c;PDF文档承载着大量结构化与非结构化信息。传统手动提取方式效率低下&#xff0c;尤其面对公式、表格、图…

5分钟快速上手:B站缓存视频m4s转MP4终极指南

5分钟快速上手&#xff1a;B站缓存视频m4s转MP4终极指南 【免费下载链接】m4s-converter 将bilibili缓存的m4s转成mp4(读PC端缓存目录) 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 还在为B站缓存视频无法在其他设备播放而烦恼吗&#xff1f;那些珍贵的…

解决STM32驱动ST7735花屏问题的系统学习

从花屏到清晰&#xff1a;STM32驱动ST7735显示稳定的实战全解析你有没有遇到过这样的场景&#xff1f;精心写好代码&#xff0c;接上1.8寸TFT屏&#xff0c;通电后屏幕“噼里啪啦”一阵乱闪——颜色错乱、图像撕裂、满屏噪点。你以为是硬件坏了&#xff1f;换一块板子&#xff…

基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

Keil5安装失败应对策略:实战案例分析

Keil5安装失败&#xff1f;别慌&#xff01;实战排错全解析 在嵌入式开发的世界里&#xff0c;Keil MDK几乎是每个接触ARM Cortex-M系列单片机的工程师绕不开的工具。尤其是 Keil5&#xff08;即MDK-ARM 5.x&#xff09; &#xff0c;凭借其稳定高效的ARM Compiler、简洁流畅…

PDF-Extract-Kit需求管理:功能优先级排序方法

PDF-Extract-Kit需求管理&#xff1a;功能优先级排序方法 1. 引言&#xff1a;PDF智能提取工具箱的工程背景与挑战 1.1 工具定位与发展动因 在科研、教育和出版领域&#xff0c;PDF文档承载了大量结构化信息&#xff0c;包括文本、公式、表格和图像。然而&#xff0c;传统PD…

PDF-Extract-Kit摘要生成:自动生成文档摘要

PDF-Extract-Kit摘要生成&#xff1a;自动生成文档摘要 1. 引言&#xff1a;智能PDF内容提取的工程实践需求 在科研、教育和企业办公场景中&#xff0c;大量知识以PDF格式沉淀。传统手动摘录方式效率低下&#xff0c;尤其面对包含复杂公式、表格和图文混排的学术论文时&#…

PDF-Extract-Kit社区建设:如何吸引更多贡献者

PDF-Extract-Kit社区建设&#xff1a;如何吸引更多贡献者 1. 项目背景与社区价值 1.1 PDF-Extract-Kit的技术定位 PDF-Extract-Kit 是一个基于深度学习的PDF智能内容提取工具箱&#xff0c;由开发者“科哥”主导开发并开源。该项目集成了布局检测、公式识别、OCR文字提取、表…

科哥PDF-Extract-Kit技巧分享:批量处理PDF的自动化脚本

科哥PDF-Extract-Kit技巧分享&#xff1a;批量处理PDF的自动化脚本 1. 引言 1.1 业务场景描述 在科研、教育和文档数字化工作中&#xff0c;PDF文件中常包含大量结构化内容&#xff0c;如数学公式、表格、图文混排等。手动提取这些信息效率低下且容易出错。科哥开发的 PDF-E…

ARM Cortex-M4浮点单元配置:单精度浮点数实战案例

深入实战&#xff1a;如何在Cortex-M4上榨干FPU性能&#xff0c;让浮点运算快如闪电&#xff1f;你有没有遇到过这样的场景&#xff1f;写好了滤波算法、移植了MATLAB的控制逻辑&#xff0c;结果一跑起来系统卡顿、响应延迟飙升——最后发现罪魁祸首是那几行看似无害的float计算…

PDF-Extract-Kit代码实例:自动化测试脚本编写

PDF-Extract-Kit代码实例&#xff1a;自动化测试脚本编写 1. 引言 1.1 业务场景描述 在实际项目中&#xff0c;PDF文档的智能信息提取已成为科研、教育、金融等多个领域的高频需求。无论是学术论文中的公式与表格抽取&#xff0c;还是企业报告中的结构化数据识别&#xff0c…

PDF-Extract-Kit实战指南:财务报表数据提取与可视化

PDF-Extract-Kit实战指南&#xff1a;财务报表数据提取与可视化 1. 引言 1.1 财务报表处理的现实挑战 在金融、审计和企业分析领域&#xff0c;财务报表是核心数据来源。然而&#xff0c;大量财报以PDF格式发布&#xff0c;尤其是扫描版或非结构化文档&#xff0c;导致信息提…