From 52082fb25623916ebe3c355843bdc81fd1bc0ff2 Mon Sep 17 00:00:00 2001 From: JEECG <445654970@qq.com> Date: Thu, 16 Oct 2025 13:45:17 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90sa-token=E3=80=91=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=BB=AD=E6=9C=9F=E4=B8=8D=E5=A5=BD=E4=BD=BF=EF=BC=8C=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E6=89=8B=E5=8A=A8=E6=89=A7=E8=A1=8C=E7=BB=AD=E6=9C=9F?= =?UTF-8?q?=E6=96=B9=E6=B3=95StpUtil.stpLogic.updateLastActiveToNow(token)?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/config/satoken/SaTokenConfig.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/satoken/SaTokenConfig.java b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/satoken/SaTokenConfig.java index 4098c55aa..71509bd3e 100644 --- a/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/satoken/SaTokenConfig.java +++ b/jeecg-boot/jeecg-boot-base-core/src/main/java/org/jeecg/config/satoken/SaTokenConfig.java @@ -127,6 +127,20 @@ public class SaTokenConfig implements WebMvcConfigurer { Object loginId = StpUtil.getLoginIdByToken(token); if (loginId != null) { StpUtil.switchTo(loginId); + + // 需要手工自动续签,默认参数auto-renew:true 不好使 + long activeTimeout = StpUtil.stpLogic.getConfigOrGlobal().getActiveTimeout(); + if (activeTimeout > 0) { + // 获取当前token的活跃剩余时间 + long tokenActiveTimeout = StpUtil.getTokenActiveTimeout(); + + // 如果剩余活跃时间少于总活跃时间的一半,进行续签 + if (tokenActiveTimeout > 0 && tokenActiveTimeout < (activeTimeout / 2)) { + StpUtil.stpLogic.updateLastActiveToNow(token); + log.info("【Sa-Token拦截器】Token续签成功,剩余活跃时间: {}秒", tokenActiveTimeout); + } + } + } } } catch (Exception e) {