ruoyi-common/src/main/java/com/ruoyi/common/core/domain/dto/RoleDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ package com.ruoyi.common.core.domain.dto; import lombok.Data; import lombok.NoArgsConstructor; import java.io.Serializable; /** * è§è² * * @author Lion Li */ @Data @NoArgsConstructor public class RoleDTO implements Serializable { /** * è§è²ID */ private Long roleId; /** * è§è²åç§° */ private String roleName; /** * è§è²æé */ private String roleKey; /** * æ°æ®èå´ï¼1ï¼æææ°æ®æéï¼2ï¼èªå®ä¹æ°æ®æéï¼3ï¼æ¬é¨é¨æ°æ®æéï¼4ï¼æ¬é¨é¨å以䏿°æ®æéï¼5ï¼ä» æ¬äººæ°æ®æéï¼ */ private String dataScope; } ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
@@ -1,7 +1,6 @@ package com.ruoyi.common.core.domain.model; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.dto.RoleDTO; import com.ruoyi.common.helper.LoginHelper; import lombok.Data; import lombok.NoArgsConstructor; @@ -31,6 +30,11 @@ * é¨é¨ID */ private Long deptId; /** * é¨é¨å */ private String deptName; /** * ç¨æ·å¯ä¸æ è¯ @@ -88,14 +92,9 @@ private String username; /** * é¨é¨å¯¹è±¡ */ private SysDept dept; /** * è§è²å¯¹è±¡ */ private List<SysRole> roles; private List<RoleDTO> roles; /** * æ°æ®æé å½åè§è²ID ruoyi-common/src/main/java/com/ruoyi/common/enums/DataScopeType.java
@@ -9,7 +9,7 @@ * <p> * è¯æ³æ¯æ spel 模æ¿è¡¨è¾¾å¼ * <p> * å ç½®æ°æ® user å½åç¨æ· å 容åè SysUser * å ç½®æ°æ® user å½åç¨æ· å 容åè LoginUser * å¦éæ©å±æ°æ® å¯ä½¿ç¨ {@link com.ruoyi.common.helper.DataPermissionHelper} æä½ * å ç½®æå¡ sdss ç³»ç»æ°æ®æéæå¡ å 容åè SysDataScopeService * å¦éæ©å±æ´å¤èªå®ä¹æå¡ å¯ä»¥åè sdss èªè¡ç¼å ruoyi-framework/src/main/java/com/ruoyi/framework/handler/PlusDataPermissionHandler.java
@@ -7,7 +7,7 @@ import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.annotation.DataColumn; import com.ruoyi.common.annotation.DataPermission; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.dto.RoleDTO; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.DataScopeType; import com.ruoyi.common.exception.ServiceException; @@ -112,7 +112,7 @@ StandardEvaluationContext context = new StandardEvaluationContext(); context.setBeanResolver(beanResolver); DataPermissionHelper.getContext().forEach(context::setVariable); for (SysRole role : user.getRoles()) { for (RoleDTO role : user.getRoles()) { user.setRoleId(role.getRoleId()); // è·åè§è²æéæ³å DataScopeType type = DataScopeType.findCode(role.getDataScope()); ruoyi-framework/src/main/java/com/ruoyi/framework/listener/UserActionListener.java
@@ -4,7 +4,6 @@ import cn.dev33.satoken.listener.SaTokenListener; import cn.dev33.satoken.stp.SaLoginModel; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.useragent.UserAgent; import cn.hutool.http.useragent.UserAgentUtil; import com.ruoyi.common.constant.Constants; @@ -52,10 +51,8 @@ .loginTime(System.currentTimeMillis()) .tokenId(tokenValue) .userName(user.getUsername()) .deptName(user.getDeptName()) .build(); if (ObjectUtil.isNotNull(user.getDept())) { dto.setDeptName(user.getDept().getDeptName()); } RedisUtils.setCacheObject(Constants.ONLINE_TOKEN_KEY + tokenValue, dto, tokenConfig.getTimeout(), TimeUnit.SECONDS); log.info("user doLogin, useId:{}, token:{}", loginId, tokenValue); } else if (userType == UserType.APP_USER) { ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
@@ -1,8 +1,10 @@ package com.ruoyi.system.service; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.domain.dto.RoleDTO; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.service.LogininforService; @@ -12,13 +14,17 @@ import com.ruoyi.common.exception.user.CaptchaExpireException; import com.ruoyi.common.exception.user.UserException; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.*; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.MessageUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.common.utils.redis.RedisUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.concurrent.TimeUnit; /** @@ -137,8 +143,9 @@ loginUser.setUserType(user.getUserType()); loginUser.setMenuPermission(permissionService.getMenuPermission(user)); loginUser.setRolePermission(permissionService.getRolePermission(user)); loginUser.setRoles(user.getRoles()); loginUser.setDept(user.getDept()); loginUser.setDeptName(user.getDept().getDeptName()); List<RoleDTO> roles = BeanUtil.copyToList(user.getRoles(), RoleDTO.class); loginUser.setRoles(roles); return loginUser; }