diff --git a/pom.xml b/pom.xml index cdfd7bc56..b460f737a 100644 --- a/pom.xml +++ b/pom.xml @@ -14,25 +14,25 @@ 5.3.1 - 3.4.5 + 3.4.6 UTF-8 UTF-8 17 3.5.16 - 2.8.5 + 2.8.8 0.15.0 1.2.0 2.3 1.42.0 - 3.5.11 + 3.5.12 3.9.1 5.8.35 - 3.4.5 + 3.4.7 3.45.1 2.2.7 4.3.1 1.5.0 - 1.4.6 + 1.4.8 0.2.0 1.18.36 1.80 diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PermissionService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PermissionService.java new file mode 100644 index 000000000..d7db79a91 --- /dev/null +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/PermissionService.java @@ -0,0 +1,28 @@ +package org.dromara.common.core.service; + +import java.util.Set; + +/** + * 用户权限处理 + * + * @author Lion Li + */ +public interface PermissionService { + + /** + * 获取角色数据权限 + * + * @param userId 用户id + * @return 角色权限信息 + */ + Set getRolePermission(Long userId); + + /** + * 获取菜单数据权限 + * + * @param userId 用户id + * @return 菜单权限信息 + */ + Set getMenuPermission(Long userId); + +} diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java index 1cef9a773..35d16cd6e 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java @@ -1,9 +1,13 @@ package org.dromara.common.satoken.core.service; import cn.dev33.satoken.stp.StpInterface; +import cn.hutool.core.util.ObjectUtil; import org.dromara.common.core.domain.model.LoginUser; import org.dromara.common.core.enums.UserType; +import org.dromara.common.core.service.PermissionService; +import org.dromara.common.core.utils.StringUtils; import org.dromara.common.satoken.utils.LoginHelper; +import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @@ -15,19 +19,25 @@ import java.util.List; */ public class SaPermissionImpl implements StpInterface { + @Autowired + private PermissionService permissionService; + /** * 获取菜单权限列表 */ @Override public List getPermissionList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); + if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1)))); + } UserType userType = UserType.getUserType(loginUser.getUserType()); - if (userType == UserType.SYS_USER) { - return new ArrayList<>(loginUser.getMenuPermission()); - } else if (userType == UserType.APP_USER) { + if (userType == UserType.APP_USER) { // 其他端 自行根据业务编写 } - return new ArrayList<>(); + // SYS_USER 默认返回权限 + return new ArrayList<>(loginUser.getMenuPermission()); } /** @@ -36,12 +46,15 @@ public class SaPermissionImpl implements StpInterface { @Override public List getRoleList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); + if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1)))); + } UserType userType = UserType.getUserType(loginUser.getUserType()); - if (userType == UserType.SYS_USER) { - return new ArrayList<>(loginUser.getRolePermission()); - } else if (userType == UserType.APP_USER) { + if (userType == UserType.APP_USER) { // 其他端 自行根据业务编写 } - return new ArrayList<>(); + // SYS_USER 默认返回权限 + return new ArrayList<>(loginUser.getRolePermission()); } } diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm index caf3472e1..4570d46db 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm @@ -80,6 +80,7 @@ v-loading="loading" :data="${businessName}List" row-key="${treeCode}" + border :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" > diff --git a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index a92d19adc..df51ed063 100644 --- a/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-modules/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -82,7 +82,7 @@ - + #foreach($column in $columns) #set($javaField=$column.javaField) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java index 9852821e6..4bf697420 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPermissionServiceImpl.java @@ -1,11 +1,12 @@ package org.dromara.system.service.impl; +import lombok.RequiredArgsConstructor; import org.dromara.common.core.constant.TenantConstants; +import org.dromara.common.core.service.PermissionService; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.service.ISysMenuService; import org.dromara.system.service.ISysPermissionService; import org.dromara.system.service.ISysRoleService; -import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.HashSet; @@ -18,7 +19,7 @@ import java.util.Set; */ @RequiredArgsConstructor @Service -public class SysPermissionServiceImpl implements ISysPermissionService { +public class SysPermissionServiceImpl implements ISysPermissionService, PermissionService { private final ISysRoleService roleService; private final ISysMenuService menuService; diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml index 82548e4db..5fa579c15 100644 --- a/script/docker/docker-compose.yml +++ b/script/docker/docker-compose.yml @@ -65,7 +65,7 @@ services: network_mode: "host" minio: - image: minio/minio:RELEASE.2023-04-13T03-08-07Z + image: minio/minio:RELEASE.2025-05-24T17-08-30Z container_name: minio ports: # api 端口