fix 修复可能会存在的越权行为

This commit is contained in:
jenn 2023-08-30 00:06:01 +08:00
parent ef2bd5e6a4
commit 378632fa10

View File

@ -27,6 +27,7 @@ import org.dromara.system.domain.SysUser;
import org.dromara.system.domain.SysUserPost; import org.dromara.system.domain.SysUserPost;
import org.dromara.system.domain.SysUserRole; import org.dromara.system.domain.SysUserRole;
import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserBo;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.domain.vo.SysPostVo; import org.dromara.system.domain.vo.SysPostVo;
import org.dromara.system.domain.vo.SysRoleVo; import org.dromara.system.domain.vo.SysRoleVo;
import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.domain.vo.SysUserVo;
@ -273,6 +274,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int insertUser(SysUserBo user) { public int insertUser(SysUserBo user) {
// 检测部门操作权限
if (ObjectUtil.isNotNull(user.getDeptId()) && !LoginHelper.isSuperAdmin()){
SysDeptVo dept = deptMapper.selectDeptById(user.getDeptId());
if (ObjectUtil.isNull(dept)) {
throw new ServiceException("没有权限访问部门数据!");
}
}
SysUser sysUser = MapstructUtils.convert(user, SysUser.class); SysUser sysUser = MapstructUtils.convert(user, SysUser.class);
// 新增用户信息 // 新增用户信息
int rows = baseMapper.insert(sysUser); int rows = baseMapper.insert(sysUser);
@ -308,6 +316,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public int updateUser(SysUserBo user) { public int updateUser(SysUserBo user) {
// 检测部门操作权限
if (ObjectUtil.isNotNull(user.getDeptId()) && !LoginHelper.isSuperAdmin()){
SysDeptVo dept = deptMapper.selectDeptById(user.getDeptId());
if (ObjectUtil.isNull(dept)) {
throw new ServiceException("没有权限访问部门数据!");
}
}
// 新增用户与角色管理 // 新增用户与角色管理
insertUserRole(user, true); insertUserRole(user, true);
// 新增用户与岗位管理 // 新增用户与岗位管理