springboot security 权限控制---循环依赖问题

在看权限控制的过程中,使用了security。问题也随之出现。

登录的时候查出了用户的权限串,存到了redis中。

之后每一次请求在拦截器中从redis中拿权限串,封装对象放进security的上下文中供其使用。

但是如果缓存过期消失,或者权限更新需要更新的时候不知道该如何做。

权限更新的时候如果key值固定拼接的字符串,那直接更新redis中的value即可。

但是缓存过期失效的话,拦截器中就会拿不到这个权限串。

此刻就面临,1、强制用户下线重新登录,但是不优雅。

2、在拦截器中拿权限串拿不到就查询。

就这第2个办法,如果单纯注入service或者mapper都会导致循环依赖的发生。

解决办法有二:

1、懒加载

在注入的service上添加@Lazy

2、ApplicationContext

在拦截器中使用这个玩意去拿到service

但是总感觉怪怪的,问题虽然解决了。

如果有大神看到这个文章,能不能说说,针对我上述的这种情况,缓存失效,无感刷新,有没有更好的解决办法呢?问了AI,没什么收获。

相关推荐
Listen·Rain36 分钟前
用AI开发出一个AI
java·人工智能·spring boot·tomcat·intellij-idea·mybatis·visual studio
马优晨4 小时前
Spring Boot + MyBatis + Redis 整合实战 —— 项目源码深度解析
spring boot·redis·mybatis·mybatis + redis·redis实战·spring实战·mybatis实战
阿里云云原生21 小时前
AI Agent 上线容易稳定难?阿里云 AgentLoop 推出“经验自进化”闭环治理方案
人工智能·阿里云·mybatis·agentscope
CodeStats1 天前
【Spring事务】Spring事务注解 @Transactional 完整体系:从 MySQL 隔离级别到 MyBatis 原理详解
java·spring·mybatis·事务·transactional
Nuanyt2 天前
SSM 学习记录 第二部分 Spring整合Mybatis&Junit AOP核心概念 Spring事务管理 SpringMVC 请求与响应 Rest风格
java·spring·junit·mybatis·restful
米码收割机2 天前
【SSM】Spring MVC_MyBatis SSM商城系统(源码+论文)【独一无二】
spring·mvc·mybatis
Devin~Y3 天前
互联网大厂 Java 面试实录:Spring Boot、MyBatis、Redis、Kafka、Spring Security、RAG 与 MCP 全链路问答
java·redis·kafka·mybatis·spring security·spring mvc·sprint boot
VX_bysjlw9854 天前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
hexu_blog4 天前
springboot3集成shardingsphere4.0 分表分库
java·spring boot·mybatis
乐观的Terry4 天前
9、发布系统-Webhook自动发布
java·spring boot·spring·spring cloud·mybatis