fix bug 40273 管理员账号--admin账号可创建并登录成功

This commit is contained in:
lijiarao
2021-11-03 18:18:05 +08:00
parent 02773d5f60
commit 3a4314a9d8
@@ -106,7 +106,10 @@ public class SysUserController {
@Resource
private BaseCommonService baseCommonService;
private final static List<String> INTERNAL_USER =
Arrays.asList("LKGLZ", "BXGLZ");
private final static List<String> 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("不可添加用户名为adminroottestadministratorsupervisor的用户");
}
LambdaQueryWrapper<SysUser> 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("不可添加用户名为adminroottestadministratorsupervisor的用户");
}
LambdaQueryWrapper<SysUser> 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<SysUser> sysUsers = sysUserService.listByIds(Arrays.asList(ids.split(",")));
List<String> 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 + " 行:不可添加用户名为adminroottestadministratorsupervisor的用户");
}
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(SysUser::getUsername,sysUser.getUsername());
wrapper.eq(SysUser::getDelFlag,0);