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

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

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

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

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

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

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

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

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

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

解决办法有二:

1、懒加载

在注入的service上添加@Lazy

2、ApplicationContext

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

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

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

相关推荐
敲个大西瓜2 天前
mybatis拦截器插件实现数据库字段加解密
mybatis
武子康3 天前
Java-28 深入浅出 Spring 实现简易Ioc-04 在上节的业务下手动实现AOP
java·后端·mybatis
一条泥憨鱼3 天前
苍穹外卖【day6|微信登录与商品浏览功能】
后端·mybatis·苍穹外卖
vx-Biye_Design3 天前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis
摇滚侠3 天前
MyBatis+Spring+SpringMVC SSM 整合 179-185
java·spring·mybatis
摇滚侠3 天前
MyBatis+Spring+SpringMVC SSM ContextLoaderListener 177-178
java·spring·mybatis
Spring小子3 天前
【Spring Boot + Vue + DeepSeek】从零打造一个AI驱动的智能健康分析系统
java·spring boot·mybatis
武子康3 天前
Java-27 深入浅出 Spring - 实现简易Ioc-03 在上节的业务下手动实现IoC 从 XML 配置到 BeanFactory 反射注入
java·后端·mybatis
柏舟飞流4 天前
Spring Boot 进阶实战:整合 MyBatis、Redis、JWT,搭一个更像真实项目的后端服务
spring boot·redis·mybatis