|
|
|
@ -83,6 +83,16 @@ public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IR
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private boolean grantRoleMenu(List<Long> roleIds, List<Long> menuIds) { |
|
|
|
|
// 防止越权配置超管角色
|
|
|
|
|
int administratorCount = baseMapper.selectCount(Wrappers.<Role>query().lambda().eq(Role::getRoleAlias, RoleConstant.ADMINISTRATOR).in(Role::getId, roleIds)); |
|
|
|
|
if (!AuthUtil.isAdministrator() && administratorCount > 0) { |
|
|
|
|
throw new ServiceException("无权配置超管角色!"); |
|
|
|
|
} |
|
|
|
|
// 防止越权配置管理员角色
|
|
|
|
|
int adminCount = baseMapper.selectCount(Wrappers.<Role>query().lambda().eq(Role::getRoleAlias, RoleConstant.ADMIN).in(Role::getId, roleIds)); |
|
|
|
|
if (!AuthUtil.isAdmin() && adminCount > 0) { |
|
|
|
|
throw new ServiceException("无权配置管理员角色!"); |
|
|
|
|
} |
|
|
|
|
// 删除角色配置的菜单集合
|
|
|
|
|
roleMenuService.remove(Wrappers.<RoleMenu>update().lambda().in(RoleMenu::getRoleId, roleIds)); |
|
|
|
|
// 组装配置
|
|
|
|
|