From 72675b17c49b53125a10da17e8ffdecdcff7c7de Mon Sep 17 00:00:00 2001 From: winkey <wwwgto@qq.com> Date: 星期三, 02 四月 2025 15:13:39 +0800 Subject: [PATCH] 解决登录异常问题 --- ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java | 4 +++- ruoyi-common/ruoyi-common-satoken/src/main/java/org/ruoyi/common/satoken/utils/LoginHelper.java | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/ruoyi/common/satoken/utils/LoginHelper.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/ruoyi/common/satoken/utils/LoginHelper.java index fd8f8f2..85a6698 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/ruoyi/common/satoken/utils/LoginHelper.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/ruoyi/common/satoken/utils/LoginHelper.java @@ -2,6 +2,7 @@ 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; import cn.hutool.core.convert.Convert; @@ -73,8 +74,11 @@ if (loginUser != null) { return loginUser; } - loginUser = (LoginUser) StpUtil.getTokenSession().get(LOGIN_USER_KEY); - SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser); + SaSession tokenSession = StpUtil.getTokenSession(); + if (tokenSession != null) { + loginUser = (LoginUser) tokenSession.get(LOGIN_USER_KEY); + SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser); + }; return loginUser; } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java index 639feaf..017388c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java @@ -228,7 +228,9 @@ TenantHelper.clearDynamic(); } StpUtil.logout(); - recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGOUT, MessageUtils.message("user.logout.success")); + if (loginUser !=null) { + recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGOUT, MessageUtils.message("user.logout.success")); + } } catch (NotLoginException ignored) { } } -- Gitblit v1.9.3