From 019526fbe921a574f76e629ad7b3079f933a630a Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期日, 21 十一月 2021 01:39:43 +0800 Subject: [PATCH] update 解耦 LoginUser 与 SysUser 强关联 --- ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java | 17 ++++++++++++++--- 1 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java index ce9af68..e413333 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java @@ -1,9 +1,12 @@ package com.ruoyi.system.service; import com.ruoyi.common.core.domain.entity.SysRole; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; +import com.ruoyi.common.core.service.UserService; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.spring.SpringUtils; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -91,10 +94,14 @@ return false; } LoginUser loginUser = SecurityUtils.getLoginUser(); - if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) { + if (StringUtils.isNull(loginUser)) { return false; } - for (SysRole sysRole : loginUser.getUser().getRoles()) { + SysUser sysUser = SpringUtils.getBean(UserService.class).selectUserById(loginUser.getUserId()); + if (CollectionUtils.isEmpty(sysUser.getRoles())) { + return false; + } + for (SysRole sysRole : sysUser.getRoles()) { String roleKey = sysRole.getRoleKey(); if (SUPER_ADMIN.equals(roleKey) || roleKey.equals(StringUtils.trim(role))) { return true; @@ -124,7 +131,11 @@ return false; } LoginUser loginUser = SecurityUtils.getLoginUser(); - if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) { + if (StringUtils.isNull(loginUser)) { + return false; + } + SysUser sysUser = SpringUtils.getBean(UserService.class).selectUserById(loginUser.getUserId()); + if (CollectionUtils.isEmpty(sysUser.getRoles())) { return false; } for (String role : roles.split(ROLE_DELIMETER)) { -- Gitblit v1.9.3