From 3fe5356431728628aa58caf5926d179843407206 Mon Sep 17 00:00:00 2001 From: fengshuonan <sn93@qq.com> Date: Fri, 8 Sep 2023 23:06:54 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90role=E3=80=91?= =?UTF-8?q?=E5=AE=8C=E5=96=84=E7=BB=91=E5=AE=9A=E6=9D=83=E9=99=90=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E8=8C=83=E5=9B=B4=E7=AD=9B=E9=80=89=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=A2=9E=E5=8A=A0=E7=BB=91=E5=AE=9A=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E7=9A=84=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/role/service/impl/RoleBindOptionImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleBindOptionImpl.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleBindOptionImpl.java index 0b4a8eb93..ed429f451 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleBindOptionImpl.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/RoleBindOptionImpl.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleAssignOperateAction; import cn.stylefeng.roses.kernel.sys.modular.role.action.RoleBindLimitAction; import cn.stylefeng.roses.kernel.sys.modular.role.entity.SysRoleLimit; @@ -13,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Set; /** * 角色绑定功能的限制 @@ -35,11 +37,16 @@ public class RoleBindOptionImpl implements RoleAssignOperateAction, RoleBindLimi } @Override - public void doOperateAction(RoleBindPermissionRequest roleBindPermissionRequest) { + public void doOperateAction(RoleBindPermissionRequest roleBindPermissionRequest, Set<Long> roleLimitMenuIdsAndOptionIds) { Long roleId = roleBindPermissionRequest.getRoleId(); Long menuOptionId = roleBindPermissionRequest.getNodeId(); + // 非法操作 + if (ObjectUtil.isNotEmpty(roleLimitMenuIdsAndOptionIds) && !roleLimitMenuIdsAndOptionIds.contains(menuOptionId)) { + return; + } + if (roleBindPermissionRequest.getChecked()) { SysRoleMenuOptions sysRoleMenuOptions = new SysRoleMenuOptions(); sysRoleMenuOptions.setRoleId(roleId);