This is an automated email from the ASF dual-hosted git repository. lidongdai pushed a commit to branch dev-db in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev-db by this push: new be4fd58 dolphinscheduler-#1403][bug]improve the check rules (#1408) be4fd58 is described below commit be4fd58347ce00b88be1defd2d31fd8c834483b5 Author: zhukai <bon...@qq.com> AuthorDate: Mon Dec 9 19:06:31 2019 +0800 dolphinscheduler-#1403][bug]improve the check rules (#1408) 1. When check failed, we don’t know whitch parameter has is wrong, Because username、password、email and phone were checks together. I refactored the check method ,Now it will return failed msg by each field. 2. The email check regex support [_|\-|\.]?) in createUser.vue, But it do not support in backend server , I fix it, Now they have the same check regex both in frontend and backend --- .../dolphinscheduler/api/service/UsersService.java | 36 ++++++++++++++++++++-- .../apache/dolphinscheduler/common/Constants.java | 2 +- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java index 8d27d9e..92319e7 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/UsersService.java @@ -96,8 +96,12 @@ public class UsersService extends BaseService { String queue) throws Exception { Map<String, Object> result = new HashMap<>(5); - if (!CheckUtils.checkUserParams(userName, userPassword, email, phone)) { - putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR,userName); + + //check all user params + String msg = this.checkUserParams(userName, userPassword, email, phone); + + if (!StringUtils.isEmpty(msg)) { + putMsg(result, Status.REQUEST_PARAMS_NOT_VALID_ERROR,msg); return result; } if (!isAdmin(loginUser)) { @@ -687,4 +691,32 @@ public class UsersService extends BaseService { private boolean checkTenantExists(int tenantId) { return tenantMapper.queryById(tenantId) != null ? true : false; } + + /** + * + * @param userName + * @param password + * @param email + * @param phone + * @return if check failed return the field, otherwise return null + */ + private String checkUserParams(String userName, String password, String email, String phone) { + + String msg = null; + if (!CheckUtils.checkUserName(userName)) { + + msg = userName; + } else if (!CheckUtils.checkPassword(password)) { + + msg = password; + } else if (!CheckUtils.checkEmail(email)) { + + msg = email; + } else if (!CheckUtils.checkPhone(phone)) { + + msg = phone; + } + + return msg; + } } diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java index efcb4e1..352fa96 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java @@ -330,7 +330,7 @@ public final class Constants { /** * email regex */ - public static final Pattern REGEX_MAIL_NAME = Pattern.compile("^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"); + public static final Pattern REGEX_MAIL_NAME = Pattern.compile("^([a-z0-9A-Z]+[_|\\-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"); /** * read permission