shiro session超时

Posted xin_zl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shiro session超时相关的知识,希望对你有一定的参考价值。

By default, Shiro’s SessionManager implementations default to a 30 minute session timeout. That is, if any Session created remains idle (unused, where its lastAccessedTime isn’t updated) for 30 minutes or more, the Session is considered expired and will not be allowed to be used anymore.

  1. org.apache.shiro.session.ExpiredSessionException: Session with id [b70d9d31-2331-46a7-a5ad-dff736d53c6b] has expired.
    shiro session默认超时时间30分钟。项目接口运行超过30分钟,并在最后执行了数据插入操作,实体带有mybatisplus的@TableField(fill = FieldFill.INSERT)注解,在自动填充字段时调用了subject.getPrincipal()查找当前用户填充creator字段,shiro会调用ProxiedSession.getAttribute(),最后到SimpleSession.validate(),此时shiro session已失效,遂抛出异常
  2. org.apache.shiro.session.UnknownSessionException: There is no session with id [b70d9d31-2331-46a7-a5ad-dff736d53c6b]
    异常原因大致同上。

以上是关于shiro session超时的主要内容,如果未能解决你的问题,请参考以下文章

shiro session超时

shiro的session失效后重新登录,怎么回到首页

shiro session 怎样跳出整个web框架 返回到登录页面

Shiro源代码分析之两种Session的方式

全栈编程系列SpringBoot整合Shiro(含KickoutSessionControlFilter并发在线人数控制以及不生效问题配置启动异常No SecurityManager...)(代码片段

Spring+shiro session与线程池的坑