From bfc9953b32f8e61c5050b849785b20bf13260770 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Wed, 12 Feb 2025 18:37:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E8=A7=84=E5=88=99=E6=95=B0=E6=8D=AE=E6=9D=83=E9=99=90=E3=80=81?= =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89SQL=E6=95=B0=E6=8D=AE=E6=9D=83?= =?UTF-8?q?=E9=99=90=EF=BC=8C=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/sys/web/RoleController.java | 30 ++++++++++++------- .../main/resources/config/jeesite-core.yml | 3 ++ .../src/main/resources/config/application.yml | 3 ++ web/src/main/resources/config/application.yml | 3 ++ 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java b/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java index 2d684e90..8c2efa6d 100644 --- a/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java +++ b/modules/core/src/main/java/com/jeesite/modules/sys/web/RoleController.java @@ -304,16 +304,26 @@ public class RoleController extends BaseController { @RequiresPermissions("sys:role:edit") @RequestMapping(value = "formAuthDataScope") public String formAuthDataScope(Role role, Model model, HttpServletRequest request) { - // 拥有的角色数据权限 - RoleDataScope roleDataScope = new RoleDataScope(); - roleDataScope.setRoleCode(role.getRoleCode()); - List roleDataScopeList = roleService.findDataScopeList(roleDataScope); - model.addAttribute("roleDataScopeList", roleDataScopeList); - // 拥有的菜单数据权限 - MenuDataScope menuDataScope = new MenuDataScope(); - menuDataScope.setRoleCode(role.getRoleCode()); - List menuDataScopeList = roleService.findMenuDataScopeList(menuDataScope); - model.addAttribute("menuDataScopeList", menuDataScopeList); + // 查询角色数据权限,包括菜单数据权限 + if (Global.TRUE.equals(role.getMenuCode())){ + // 拥有的角色数据权限 + RoleDataScope roleDataScope = new RoleDataScope(); + roleDataScope.setRoleCode(role.getRoleCode()); + List roleDataScopeList = roleService.findDataScopeList(roleDataScope); + model.addAttribute("roleDataScopeList", roleDataScopeList); + // 拥有的菜单数据权限 + MenuDataScope menuDataScope = new MenuDataScope(); + menuDataScope.setRoleCode(role.getRoleCode()); + List menuDataScopeList = roleService.findMenuDataScopeList(menuDataScope); + model.addAttribute("menuDataScopeList", menuDataScopeList); + } else { + // 拥有的角色数据权限 + RoleDataScope roleDataScope = new RoleDataScope(); + roleDataScope.setRoleCode(role.getRoleCode()); + roleDataScope.setMenuCode(RoleDataScope.DEFAULT_MENU_CODE); + List roleDataScopeList = roleService.findDataScopeList(roleDataScope); + model.addAttribute("roleDataScopeList", roleDataScopeList); + } // 设置其它对象 model.addAttribute("role", role); model.addAttribute("moduleCodes", ModuleUtils.getEnableModuleCodes()); diff --git a/modules/core/src/main/resources/config/jeesite-core.yml b/modules/core/src/main/resources/config/jeesite-core.yml index fcc1f5f5..9d6a6f71 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -280,6 +280,9 @@ user: # v5.10.1 开始默认关闭 JOIN 模式的数据权限,如有需要可打开此参数 dataScopeJoinMode: false + # 菜单数据权限,是否启用自定义 SQL 执行权限 v5.10.1 + dataScopeRuleSql: false + # 角色管理 role: # 扩展数据权限定义:3:本部门;4:本公司;5:本部门和本公司 diff --git a/web-api/src/main/resources/config/application.yml b/web-api/src/main/resources/config/application.yml index cef39481..1f7050a4 100644 --- a/web-api/src/main/resources/config/application.yml +++ b/web-api/src/main/resources/config/application.yml @@ -449,6 +449,9 @@ user: # # # v5.10.1 开始默认关闭 JOIN 模式的数据权限,如有需要可打开此参数 # dataScopeJoinMode: false +# +# # 菜单数据权限,是否启用自定义 SQL 执行权限 v5.10.1 +# dataScopeRuleSql: false # 角色管理 #role: diff --git a/web/src/main/resources/config/application.yml b/web/src/main/resources/config/application.yml index 46079e2b..86c416c2 100644 --- a/web/src/main/resources/config/application.yml +++ b/web/src/main/resources/config/application.yml @@ -449,6 +449,9 @@ user: # # # v5.10.1 开始默认关闭 JOIN 模式的数据权限,如有需要可打开此参数 # dataScopeJoinMode: false +# +# # 菜单数据权限,是否启用自定义 SQL 执行权限 v5.10.1 +# dataScopeRuleSql: false # 角色管理 #role: