diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 1f483c3d..63335b40 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -106,7 +106,10 @@ public class SysUserController { @Resource private BaseCommonService baseCommonService; - + private final static List INTERNAL_USER = + Arrays.asList("LKGLZ", "BXGLZ"); + private final static List ADMIN_USER = + Arrays.asList("admin", "root","test","administrator","supervisor"); /** * 根据角色id和部门id获取用户列表数据 */ @@ -319,6 +322,9 @@ public class SysUserController { } catch (Exception e) { throw new JeroBootException("解密失败!", e); } + if (ADMIN_USER.contains(StringUtils.lowerCase(user.getUsername().trim()))) { + throw new JeroBootException("不可添加用户名为admin,root,test,administrator,supervisor的用户"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysUser::getUsername,user.getUsername()); wrapper.eq(SysUser::getDelFlag,0); @@ -391,7 +397,9 @@ public class SysUserController { user.setEmail(email); user.setEmailPassword(emailPassword); user.setPhone(phone); - + if (ADMIN_USER.contains(StringUtils.lowerCase(user.getUsername().trim()))) { + throw new JeroBootException("不可添加用户名为admin,root,test,administrator,supervisor的用户"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysUser::getUsername,user.getUsername()); wrapper.eq(SysUser::getDelFlag,0); @@ -433,6 +441,9 @@ public class SysUserController { @RequestMapping(value = "/delete", method = RequestMethod.GET) public Result delete(@RequestParam(name="id",required=true) String id) { SysUser sysUser = sysUserService.getById(id); + if (INTERNAL_USER.contains(sysUser.getUsername())) { + throw new JeroBootException("内置用户不可删除"); + } baseCommonService.addLog("删除用户: " +sysUser.getUsername() ,CommonConstant.LOG_TYPE_2, 4); this.sysUserService.deleteUser(id); return Result.OK("删除用户成功"); @@ -448,6 +459,11 @@ public class SysUserController { List sysUsers = sysUserService.listByIds(Arrays.asList(ids.split(","))); List userNames = new ArrayList<>(); sysUsers.forEach(i -> userNames.add(i.getUsername())); + for (String userName : userNames) { + if (INTERNAL_USER.contains(userName)) { + throw new JeroBootException("内置用户不可删除"); + } + } baseCommonService.addLog("批量删除用户: " +userNames ,CommonConstant.LOG_TYPE_2, 4); this.sysUserService.deleteBatchUsers(ids); return Result.OK("批量删除用户成功"); @@ -795,6 +811,9 @@ public class SysUserController { } //处理邮箱和手机号的加密 UserUtil.encryptUser(sysUser); + if (ADMIN_USER.contains(StringUtils.lowerCase(sysUser.getUsername().trim()))) { + errorMessage.add("第 " + lineNumber + " 行:不可添加用户名为admin,root,test,administrator,supervisor的用户"); + } LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SysUser::getUsername,sysUser.getUsername()); wrapper.eq(SysUser::getDelFlag,0);