From 660c9339905628d979cf5adfcb2c9b28eef097c2 Mon Sep 17 00:00:00 2001 From: zendwang Date: Fri, 3 Dec 2021 14:08:25 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BF=9D=E5=AD=98=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=88=B0UserSession?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ruoyi/common/utils/SecurityUtils.java | 8 +++++--- .../java/com/ruoyi/system/service/SysLoginService.java | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java index ecf888d0b..b413db9c2 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java @@ -1,10 +1,10 @@ package com.ruoyi.common.utils; +import cn.dev33.satoken.session.SaSession; +import cn.dev33.satoken.stp.StpUtil; import cn.hutool.http.HttpStatus; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.common.utils.spring.SpringUtils; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; /** @@ -47,7 +47,9 @@ public class SecurityUtils { **/ public static SysUser getUser() { try { - return SpringUtils.getBean(UserService.class).selectUserById(getUserId()); + SaSession session = StpUtil.getSession(); + SysUser currentUser = session.getModel("currentUser", SysUser.class); + return currentUser; } catch (Exception e) { throw new ServiceException("获取用户信息异常", HttpStatus.HTTP_UNAUTHORIZED); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java index 08098ddc0..e96cd750c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service; +import cn.dev33.satoken.session.SaSession; import cn.dev33.satoken.stp.StpUtil; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.entity.SysUser; @@ -14,7 +15,6 @@ import com.ruoyi.common.exception.user.UserPasswordNotMatchException; import com.ruoyi.common.utils.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; @@ -73,6 +73,9 @@ public class SysLoginService { recordLoginInfo(user.getUserId(), username); // 生成token LoginUtils.loginByDevice(user.getUserId(), UserType.SYS_USER, DeviceType.PC); + // 保存用户信息到UserSession + SaSession session = StpUtil.getSession(true); + session.set("currentUser", user); return StpUtil.getTokenValue(); }