解决登录异常问题

This commit is contained in:
winkey
2025-04-02 15:08:45 +08:00
parent 9ea5186f49
commit 72675b17c4
2 changed files with 9 additions and 3 deletions

View File

@@ -2,6 +2,7 @@ package org.ruoyi.common.satoken.utils;
import cn.dev33.satoken.context.SaHolder; import cn.dev33.satoken.context.SaHolder;
import cn.dev33.satoken.context.model.SaStorage; import cn.dev33.satoken.context.model.SaStorage;
import cn.dev33.satoken.session.SaSession;
import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
@@ -73,8 +74,11 @@ public class LoginHelper {
if (loginUser != null) { if (loginUser != null) {
return loginUser; return loginUser;
} }
loginUser = (LoginUser) StpUtil.getTokenSession().get(LOGIN_USER_KEY); SaSession tokenSession = StpUtil.getTokenSession();
SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser); if (tokenSession != null) {
loginUser = (LoginUser) tokenSession.get(LOGIN_USER_KEY);
SaHolder.getStorage().set(LOGIN_USER_KEY, loginUser);
};
return loginUser; return loginUser;
} }

View File

@@ -228,7 +228,9 @@ public class SysLoginService {
TenantHelper.clearDynamic(); TenantHelper.clearDynamic();
} }
StpUtil.logout(); 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) { } catch (NotLoginException ignored) {
} }
} }