
在看权限控制的过程中使用了security。问题也随之出现。登录的时候查出了用户的权限串存到了redis中。之后每一次请求在拦截器中从redis中拿权限串封装对象放进security的上下文中供其使用。但是如果缓存过期消失或者权限更新需要更新的时候不知道该如何做。权限更新的时候如果key值固定拼接的字符串那直接更新redis中的value即可。但是缓存过期失效的话拦截器中就会拿不到这个权限串。此刻就面临1、强制用户下线重新登录但是不优雅。2、在拦截器中拿权限串拿不到就查询。就这第2个办法如果单纯注入service或者mapper都会导致循环依赖的发生。解决办法有二1、懒加载在注入的service上添加Lazy2、ApplicationContext在拦截器中使用这个玩意去拿到service但是总感觉怪怪的问题虽然解决了。如果有大神看到这个文章能不能说说针对我上述的这种情况缓存失效无感刷新有没有更好的解决办法呢问了AI没什么收获。