diff --git a/backend/src/main/java/io/metersphere/ldap/controller/LdapController.java b/backend/src/main/java/io/metersphere/ldap/controller/LdapController.java index 3786314112..97ccaa545f 100644 --- a/backend/src/main/java/io/metersphere/ldap/controller/LdapController.java +++ b/backend/src/main/java/io/metersphere/ldap/controller/LdapController.java @@ -57,7 +57,7 @@ public class LdapController { user.setEmail(email); user.setPassword(password); user.setSource(UserSource.Ldap.name()); - userService.createUser(user); + userService.addLdapUser(user); } else { request.setUsername(u.getId()); request.setPassword(u.getPassword()); diff --git a/backend/src/main/java/io/metersphere/service/UserService.java b/backend/src/main/java/io/metersphere/service/UserService.java index eb3221c3f5..70f1d30719 100644 --- a/backend/src/main/java/io/metersphere/service/UserService.java +++ b/backend/src/main/java/io/metersphere/service/UserService.java @@ -141,14 +141,26 @@ public class UserService { user.setSource(UserSource.Local.name()); // 密码使用 MD5 user.setPassword(CodingUtil.md5(user.getPassword())); + checkEmailIsExist(user.getEmail()); + userMapper.insertSelective(user); + } + + public void addLdapUser(User user) { + user.setCreateTime(System.currentTimeMillis()); + user.setUpdateTime(System.currentTimeMillis()); + user.setStatus(UserStatus.NORMAL); + checkEmailIsExist(user.getEmail()); + userMapper.insertSelective(user); + } + + private void checkEmailIsExist(String email) { UserExample userExample = new UserExample(); UserExample.Criteria criteria = userExample.createCriteria(); - criteria.andEmailEqualTo(user.getEmail()); + criteria.andEmailEqualTo(email); List userList = userMapper.selectByExample(userExample); if (!CollectionUtils.isEmpty(userList)) { MSException.throwException(Translator.get("user_email_already_exists")); } - userMapper.insertSelective(user); } public UserDTO getUserDTO(String userId) {