From a7bb4ee50c849eeced9f3495dd632f81863eb68c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期六, 06 一月 2024 19:43:39 +0800 Subject: [PATCH] !475 LoginHelper类 login方法 存在 重复代码 Merge pull request !475 from simple/loginhelper --- ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/utils/LoginHelper.java | 48 ++++++++++++++++++++---------------------------- 1 files changed, 20 insertions(+), 28 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 97b7041..058dee7 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; @@ -34,7 +32,9 @@ public static final String LOGIN_USER_KEY = "loginUser"; public static final String TENANT_KEY = "tenantId"; public static final String USER_KEY = "userId"; + public static final String USER_NAME_KEY = "userName"; public static final String DEPT_KEY = "deptId"; + public static final String DEPT_NAME_KEY = "deptName"; public static final String CLIENT_KEY = "clientid"; /** @@ -45,42 +45,35 @@ * @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()); 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.getSession().set(LOGIN_USER_KEY, loginUser); + .setExtra(USER_NAME_KEY, loginUser.getUsername()) + .setExtra(DEPT_KEY, loginUser.getDeptId()) + .setExtra(DEPT_NAME_KEY, loginUser.getDeptName()) + ); + SaSession tokenSession = StpUtil.getTokenSession(); + tokenSession.updateTimeout(model.getTimeout()); + tokenSession.set(LOGIN_USER_KEY, loginUser); } /** * 鑾峰彇鐢ㄦ埛(澶氱骇缂撳瓨) */ public static LoginUser getLoginUser() { - LoginUser loginUser = (LoginUser) SaHolder.getStorage().get(LOGIN_USER_KEY); - if (loginUser != null) { - return loginUser; - } - SaSession session = StpUtil.getSession(); + SaSession session = StpUtil.getTokenSession(); if (ObjectUtil.isNull(session)) { return null; } - loginUser = (LoginUser) session.get(LOGIN_USER_KEY); - SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser); - return loginUser; + return (LoginUser) session.get(LOGIN_USER_KEY); } /** * 鑾峰彇鐢ㄦ埛鍩轰簬token */ public static LoginUser getLoginUser(String token) { - Object loginId = StpUtil.getLoginIdByToken(token); - SaSession session = StpUtil.getSessionByLoginId(loginId); + SaSession session = StpUtil.getTokenSessionByToken(token); if (ObjectUtil.isNull(session)) { return null; } @@ -91,7 +84,7 @@ * 鑾峰彇鐢ㄦ埛id */ public static Long getUserId() { - return Convert.toLong(getExtra(USER_KEY)); + return Convert.toLong(getExtra(USER_KEY)); } /** @@ -109,17 +102,12 @@ } private static Object getExtra(String key) { - Object obj; try { - obj = SaHolder.getStorage().get(key); - if (ObjectUtil.isNull(obj)) { - obj = StpUtil.getExtra(key); - SaHolder.getStorage().set(key, obj); - } + return StpUtil.getExtra(key); } catch (Exception e) { return null; } - return obj; + } /** @@ -162,7 +150,11 @@ } public static boolean isTenantAdmin() { - return isTenantAdmin(getLoginUser().getRolePermission()); + return Convert.toBool(isTenantAdmin(getLoginUser().getRolePermission())); + } + + public static boolean isLogin() { + return getLoginUser() != null; } } -- Gitblit v1.9.3