From 7adf702283140793d5bbaa959423db8c3995dd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 7 Mar 2025 15:05:08 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20getLoginUser=20?= =?UTF-8?q?=E6=96=B9=E6=B3=95=20=E6=94=AF=E6=8C=81=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=A4=9A=E7=A7=8D=E7=B1=BB=E5=9E=8B=E7=99=BB=E9=99=86=E5=AE=9E?= =?UTF-8?q?=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/web/service/SysLoginService.java | 3 ++- .../common/satoken/utils/LoginHelper.java | 16 +++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index 41a802b44..7ef4c5f18 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -17,6 +17,7 @@ import org.dromara.common.core.constant.TenantConstants; import org.dromara.common.core.domain.dto.PostDTO; import org.dromara.common.core.domain.dto.RoleDTO; import org.dromara.common.core.domain.model.LoginUser; +import org.dromara.common.core.domain.model.XcxLoginUser; import org.dromara.common.core.enums.LoginType; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.user.UserException; @@ -109,7 +110,7 @@ public class SysLoginService { */ public void logout() { try { - LoginUser loginUser = LoginHelper.getLoginUser(); + XcxLoginUser loginUser = LoginHelper.getLoginUser(); if (ObjectUtil.isNull(loginUser)) { return; } 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 e2c92366f..96aaa95f9 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 @@ -63,23 +63,25 @@ public class LoginHelper { /** * 获取用户(多级缓存) */ - public static LoginUser getLoginUser() { + @SuppressWarnings("unchecked cast") + public static T getLoginUser() { SaSession session = StpUtil.getTokenSession(); if (ObjectUtil.isNull(session)) { return null; } - return (LoginUser) session.get(LOGIN_USER_KEY); + return (T) session.get(LOGIN_USER_KEY); } /** * 获取用户基于token */ - public static LoginUser getLoginUser(String token) { + @SuppressWarnings("unchecked cast") + public static T getLoginUser(String token) { SaSession session = StpUtil.getTokenSessionByToken(token); if (ObjectUtil.isNull(session)) { return null; } - return (LoginUser) session.get(LOGIN_USER_KEY); + return (T) session.get(LOGIN_USER_KEY); } /** @@ -191,7 +193,11 @@ public class LoginHelper { * @return 结果 */ public static boolean isTenantAdmin() { - return Convert.toBool(isTenantAdmin(getLoginUser().getRolePermission())); + LoginUser loginUser = getLoginUser(); + if (loginUser == null) { + return false; + } + return Convert.toBool(isTenantAdmin(loginUser.getRolePermission())); } /**