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 7f400e0e..9c26d5ae 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 449f08bb..0fdc7c52 100644 --- a/modules/core/src/main/resources/config/jeesite-core.yml +++ b/modules/core/src/main/resources/config/jeesite-core.yml @@ -283,6 +283,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 8c2ab1ec..0c2055da 100644 --- a/web-api/src/main/resources/config/application.yml +++ b/web-api/src/main/resources/config/application.yml @@ -446,6 +446,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 f2e48f4b..7dfc2e54 100644 --- a/web/src/main/resources/config/application.yml +++ b/web/src/main/resources/config/application.yml @@ -446,6 +446,9 @@ user: # # # v5.10.1 开始默认关闭 JOIN 模式的数据权限,如有需要可打开此参数 # dataScopeJoinMode: false +# +# # 菜单数据权限,是否启用自定义 SQL 执行权限 v5.10.1 +# dataScopeRuleSql: false # 角色管理 #role: