From 649099a8417d721339ff2299df93e99825e6a527 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 02 一月 2024 17:06:05 +0800 Subject: [PATCH] fix 修复 临时解决 token与token-session 过期时间不一致问题(等satoken处理) --- ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java index 2406ba9..ace6c07 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java @@ -1,7 +1,5 @@ package org.dromara.common.satoken.utils; -import cn.dev33.satoken.context.SaHolder; -import cn.dev33.satoken.context.model.SaStorage; import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; @@ -11,6 +9,7 @@ import lombok.NoArgsConstructor; import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.constant.UserConstants; +import org.dromara.common.core.context.ThreadLocalHolder; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.enums.UserType; @@ -47,17 +46,18 @@ * @param model 閰嶇疆鍙傛暟 */ public static void login(LoginUser loginUser, SaLoginModel model) { - SaStorage storage = SaHolder.getStorage(); - storage.set(LOGIN_USER_KEY, loginUser); - storage.set(TENANT_KEY, loginUser.getTenantId()); - storage.set(USER_KEY, loginUser.getUserId()); - storage.set(DEPT_KEY, loginUser.getDeptId()); + ThreadLocalHolder.set(LOGIN_USER_KEY, loginUser); + ThreadLocalHolder.set(TENANT_KEY, loginUser.getTenantId()); + ThreadLocalHolder.set(USER_KEY, loginUser.getUserId()); + ThreadLocalHolder.set(DEPT_KEY, loginUser.getDeptId()); model = ObjectUtil.defaultIfNull(model, new SaLoginModel()); StpUtil.login(loginUser.getLoginId(), model.setExtra(TENANT_KEY, loginUser.getTenantId()) .setExtra(USER_KEY, loginUser.getUserId()) .setExtra(DEPT_KEY, loginUser.getDeptId())); - StpUtil.getTokenSession().set(LOGIN_USER_KEY, loginUser); + SaSession tokenSession = StpUtil.getTokenSession(); + tokenSession.updateTimeout(model.getTimeout()); + tokenSession.set(LOGIN_USER_KEY, loginUser); } /** @@ -161,10 +161,10 @@ public static Object getStorageIfAbsentSet(String key, Supplier<Object> handle) { try { - Object obj = SaHolder.getStorage().get(key); + Object obj = ThreadLocalHolder.get(key); if (ObjectUtil.isNull(obj)) { obj = handle.get(); - SaHolder.getStorage().set(key, obj); + ThreadLocalHolder.set(key, obj); } return obj; } catch (Exception e) { -- Gitblit v1.9.3