Closed ETouchs closed 4 years ago
另:发现springboot starter中,参数shiro-redis.session-dao.session-in-memory-enabled设置并没起作用,排查发现并没有properties中并没有对应属性
确实,doReadSession只取消了过期的当前Session,应该检查整个ThreadLocal中的所有Session。已经在3.3.0中加入了。
shiro-redis.session-dao.session-in-memory-enabled 可设置为false
见testTurnOffSessionInMemoryEnabled
集成shiro-redis,发现一个问题,暂时排查出来可能由此引起,技术不行,不太确定,希望大佬核实一下
在shiro-redis中,为了减少对redis的访问,发现每个线程都对当前访问的session进行了保存,并设置了过期时间
现在这样操作:在登录完成之后,js页面进行跳转,页面中立即开启多个ajax访问资源,发现某些ajax被重定向到login页面(非必现),shiro日志排查发现这条线程并没有获取到对应的subject,所以怀疑这条线程可能保存的session是没登录之前的,查找shiro-redis代码并没发现清理线程threadlocal中的session信息
麻烦大佬核实一下,是不是此问题导致的