springBoot集成shiro+redis遇到的坑

spring boot 集成shiro和redis (绝不坑你) spring boot 集成shiro和redis (绝不坑你) 最近两天一直在弄shiro跟spring boot的整合,网上讨论的很多,但是真正搞懂的人很少,都是抄抄抄,我现在就将我这两天的所有结果分享给大家,供大家参考。 跟spring mvc 的集成很相像,但是也有很多不同的地方,主要体现在springboot 跟mvc的配置差异上。配置shiro,如果要跑起来,非常简答,跟... 阅读详情



今天在整合springboot和shiro使用redis做缓存的时候遇到个坑  记录一下


在doGetAuthorizationInfo方法进行权限校验时发生错误


代码定位在这行

UUser token = (UUser) SecurityUtils.getSubject().getPrincipal();


贴出异常



发现是同一类型竟然不能进行强制类型转换,使用redis管理缓存后出现此问题。

出现原因:使用了spring-boot-devtools热部署(具体原因未知)

解决办法:把springBoot热部署去掉,目前暂未出现异常



坑~~~~~~~~别跳


springboot集成redis、shiro集成redis 直接上代码 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma... 阅读详情

相关推荐

SpringBoot 集成 Shiro 实现前后端分离

近期,工作需求也是涉及到 Shiro 权限的问题,而且目前项目是前后端分离的,所以要求做到实现前后端分离。作为一个攻城狮,自然不能推辞。 鉴于之前未接触过 SpringBoot 中 用 ShIro 做授权和认证,然后去各大网站上搜了一番,果然,还和以前一样,千篇一律,Copy的居多,而且即使 GitHub 上有 demo 的,下载之后也是跑步不起来,无计可施。 ...

进阶的球儿 5133

使用shiro中 工具类方法SecurityUtils.getSubject()和方法subject.getPrincipal()获取当前登录用户

Shiro内置了可以连接大量安全数据源(又名目录)的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。如果系统默认的Realm不能满足需求,你还可以插入代表自定义数据源的自己的Realm实现。它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。

weixin_52654493的博客 3668

SpringBoot 集成Shiro之使用Redis缓存授权认证信息

因为用户认证与授权需要从数据库中查询并验证信息,但是对于权限很少改变的情况,这样不断从数据库中查询角色验证权限,对整个系统的开销很大,对数据库压力也随之增大。因此可以将用户认证和授权信息都缓存起来,第一次缓存没有的时候会自动从数据库中获取,并添加到缓存中;如果缓存中已经有该登录用户的认证和权限信息就直接从缓存中拿。 使用CacheManager Cache的作用 用来减轻数据库的访问压力,从而提升查询效率。 流程 使用默认的EhCache实现缓存 1、引入Ehcache相关依赖 <!.

编程小白养成手记 1802

shiro-SecurityUtils.getSubject().getPrincipal()获取的值无法强制类型转换

在登录成功后,我想取出当前登录的用户,就使用了 User user=User user=(User) SecurityUtils.getSubject().getPrincipal(); 但是运行就会出错 严重: Servlet.service() for servlet [springDispatcherServlet] in context with path [/kygl] threw exception [Request processing failed; nested exception i

zwj1030711290的优快云 4127

SpringBoot集成shiro+redis+jwt实现无状态授权验证

前言 1.放弃Cookie,Session,使用JWT进行鉴权,完全实现无状态鉴权。 2.JWT密钥支持过期时间;jwt作为创建验证token工具,并选择一种验证方式与算法。 3.使用redis做缓存处理,缓存token等等登录信息,以实现单点登录与超时登录功能。 4.密码加密(采用AES-128 + Base64的方式)。 5.根据RefreshToken自动刷新AccessToken...

liangshitian的博客 3万+

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 489

springboot集合shiro一个很诡异的bug,SecurityUtils.getSubject().getPrincipal()不能强制转换

public class ShrioUtil { public static AccountProfile getProfile(){ System.out.println(SecurityUtils.getSubject().getPrincipal()); return (AccountProfile) SecurityUtils.getSubject().getPrincipal(); } } 写了个工具类,强制转换出错,报AccountProfil

weixin_44123053的博客 1323

Palantir的Ontology:从静态知识图谱到动态业务引擎的跃迁

本文探讨了Palantir的Ontology技术如何将静态知识图谱升级为动态业务引擎。通过引入函数和行动作为核心元素,Ontology实现了业务逻辑的自动化响应与执行,显著提升物流、能源等领域的运营效率。文章详细解析了其混合存储引擎、状态监听网络等关键技术设计,并对比展示了传统架构与Ontology架构的业务价值差异。

weixin_42570296的博客 200

shiro笔记

很早之前就用shiro安全框架写登录。还没用到权限,单纯的登陆。 最近的项目不得不深入研究shiro 那时候使用都是即查即用。 现在不得不深入。于是遇到了一座大山,导致了所有的问题产生 SecurityUtils.getSubject().getPrincipal() 基础配置一个简洁的shiro框架需要 shiroRealm shiroConfiguration 两个java文件,再加上ma...

weixin_37571795的博客 465

信号完整性分析学习--16--传输线效应

传输线效应 说到传输线效应,大多数人都会想到一个经验法则,那就是: “当互连线的长度大于1/6倍的信号上升时间的空间延伸时,互连线就体现出传输线效应。” 上升时间越小越容易体现传输线效应。 由此可见,同一根互连线,它是否体现传输线效应,要看它要传输什么样的信号。下图所示,一根延时为15ps的互连线,当它传输上升时间为60ps的信号时就会体现传输线效应;当它传输上升时间为180ps的信号时就不体现传输线效应。

qq_29476769的博客 7274

CKAD-CN 考试知识点分享(12) Secret - 1

步骤操作完成1提取 Deployment 中的硬编码 Secret 值✅2创建名为postgres的 Secret✅3修改 Deployment 使用引用 Secret✅4验证新 Pod 正常运行✅❌未删除原 Deployment✅(遵守要求)✅任务完成。敏感信息已从环境变量移出,安全地存储在 Kubernetes Secret 中。

轻的博客 632

springboot集成redis

1.首先在pom文件里面添加依赖 &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt; &lt;/dependency&gt; 2.在程序配置文件ap...

dap769815768的博客 170

计算分子相似度(摩根分子指纹计算)

import numpy as np import pandas as pd import seaborn as sns import matplotlib as plt from rdkit.Chem import Draw from rdkit.Chem import AllChem as Chem from rdkit.Chem import PandasTools from rdkit import DataStructs data = pd.read_csv(r'47_covidLead.csv'

weixin_39417324的博客 1387

SpringBoot+Shiro+Redis+Mybatis-plus 实战项目

文章目录前言技术栈需求分析数据库E-R图设计数据库脚本Shiro 与 Redis 整合学习总结核心Mapper文件项目完整代码(CodeChina平台)项目运行踩过的坑归纳总结 前言 最近也是一直在保持学习课外拓展技术,所以想自己做一个简单小项目,于是就有了这个快速上手 Shiro 和 Redis 的小项目,说白了就是拿来练手调调 API,然后做完后拿来总结的小项目,完整的源代码已经上传到 CodeChina平台上,文末有仓库链接???? 技术栈 前端   html  

jmu201821122110 1万+

开发simulink 以及stm32半物理仿真碰到的问题,以及处理方法,Error:External Mode Open Protocol Connect command failed(实测有用)

串口实现的,但是在测试的时候发现,这个串口可以正常发送和接收数据,但是一旦把这个串口只让其进行版物理仿真就报错。直接刷写程序是可以的,最后查到问题了。我要实现半物理仿真,就是通过matlab实现可以直接控制stm32板子,实际上是通过xcp on。然后点击simulink上的观测按钮就可以直接和stm32平台进行通讯了。3,还是使用串口3,但是重新需要设置一下com口,因为重新插拔了一下,按照这个设置方法就可以。2,重新加载ioc文件。

pvmsmfchcs的博客 1499

OpenOCD入门到精通:第 4 章 配置文件体系详解

本文深入解析OpenOCD配置文件的体系结构和工作机制。首先介绍了配置文件的搜索路径优先级和加载顺序,以及配置阶段与运行阶段的区别。然后详细分析了interface配置文件的适配器参数调优方法,包括ST-Link、CMSIS-DAP和FTDI等常见调试器的配置示例。最后重点讲解了target配置文件的核心结构,包括TAP声明、目标创建和工作区设置等关键步骤,并以stm32f1x为例展示了完整的配置流程。通过本文可以全面了解OpenOCD配置文件的分层设计理念和参数化配置方法。

从事嵌入式linux android驱动开发,拥有全栈能力 594

springboot集成shiro-redis

springboot集成shiro-redis springboot集成shiro-redis 近期公司项目中需要用到 shrio做登录认证,认证的token用redis存储,在集成过程中出现了一些问题,写这篇博客就是为了以后在调用的时候避坑,也希望可以帮助到其他遇到同样的问题。 项目架构 项目是前后端分离的项目,主要运用到以下的技术: 后端+后台管理: springboot; mybatise...

xy1073028328的博客 755

优化算法 | 赏金猎人优化算法(Bounty Hunter Optimizer, BHO)及其在多无人机移动边缘计算与路径规划中的应用(附matlab源代码)

移动边缘计算(Mobile Edge Computing, MEC)通过将计算资源下沉至网络边缘,有效解决了物联网终端设备计算能力不足与能耗受限的问题。无人机(Unmanned Aerial Vehicle, UAV)因其高机动性、灵活部署和广域覆盖等优势,被广泛用作MEC的移动服务器平台。多无人机辅助MEC系统的核心优化问题在于:如何在满足任务处理时延约束和无人机能量限制的前提下,联合优化无人机的三维飞行轨迹、任务卸载决策与计算资源分配,以最小化系统总能耗或最大化任务完成效率。

尘世冰封的专栏 224

SpringBoot集成Shiro+Jwt+Redis

SpringBoot集成Shiro+Jwt+Redis实现登录认证、权限控制

weixin_40017062的博客 1621

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

springboot+vue集成shiro和redis的小理解——shiro

springboot+vue集成shiro和redis的小理解 本篇在springboot+vue项目搭建的基础上进行shiro和redis的集成,写上自己的一些小理解,如有错误,望大佬们指出,谢谢! 贴上之前搭建基础的链接,来个小总结 springboot+vue之旅(一) springboot+vue之旅(二) 百度中,写项目如何集成shiro和redis的例子很多,只是想写一个demo的话,...

ZuoJiu_的博客 2365

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

[ Shiro ] SpringBoot 集成 Shiro 与 Redis 实现权限控制,统一会话管理

SpringBoot 集成 Shiro 与 Redis 实现权限控制,统一会话管理

爪白白的个人博客 2682

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Shiro实战系列--整合shiro-redis

本文用实例介绍shiro通过引入shiro-redis来缓存权限。使用SpringBoot整合Shiro。

IT利刃出鞘的博客 1万+

SpringBoot集成Shiro+Redis实现session共享

一、前言 当我们的用户量到达一定程度的时候,单机的服务器已经支撑不了目前的访问量,我们肯定需要对服务器做集群来提高应用的负载能力.比如我们使用Nginx+Tomcat来实现集群,如果使用的是轮询的测试,我肯定需要涉及到Session共享的问题,解决Session共享有很多种方案,我们选择的是Shiro+Redis来实现。因为Shiro中本身就提供了sessionManager和sessionDA...

嗜血幽灵的专栏 1295

springboot+vue集成shiro和redis的小理解——reids

springboot+vue集成shiro和redis的小理解 本篇在springboot+vue项目搭建的基础上进行shiro和redis的集成,写上自己的一些小理解,如有错误,望大佬们指出,谢谢! 贴上之前搭建基础的链接,来个小总结 springboot+vue之旅(一) springboot+vue之旅(二) springboot+vue集成shiro和redis的小理解——shiro篇 p...

ZuoJiu_的博客 897

整合springboot+shiro+jwt+redis遇到的坑以及浅见

前言 现有项目框架是springboot+shiro搭建的。由于默认使用了shirosession且未使用缓存,导致服务端重启后认证状态丢失。也不支持分布式。所以加上jwt和redis。使其支持服务端无状态登录。 在pom.xml中增加依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</ar

qq_26993175的博客 1万+
上一篇: 多线程之线程池的应用
下一篇: 【Sail】项目第一篇简介和环境搭建
bubble21
博客等级 码龄9年 33粉丝 16原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值