This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new 4b20ce53e [Improve] generate and return random password when reset
user password (#2696)
4b20ce53e is described below
commit 4b20ce53ee478a03ef0fd60b726526cef8e7a2cf
Author: zhoulii <[email protected]>
AuthorDate: Tue Apr 25 19:02:57 2023 +0800
[Improve] generate and return random password when reset user password
(#2696)
* [Improve] generate and return random password when reset user password
---------
Co-authored-by: zhoulii <[email protected]>
---
.../console/system/controller/UserController.java | 8 +++-----
.../streampark/console/system/entity/User.java | 2 +-
.../console/system/service/UserService.java | 4 ++--
.../system/service/impl/UserServiceImpl.java | 22 +++++++++++-----------
.../src/api/system/user.ts | 5 +++--
.../src/locales/lang/en/system/user.ts | 2 ++
.../src/locales/lang/zh-CN/system/user.ts | 2 ++
.../src/views/system/user/User.vue | 10 ++++++++--
8 files changed, 32 insertions(+), 23 deletions(-)
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
index 665995830..92709df51 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/controller/UserController.java
@@ -35,7 +35,6 @@ import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.StringPool;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
@@ -126,11 +125,10 @@ public class UserController {
@Operation(summary = "Reset password")
@PutMapping("password/reset")
@RequiresPermissions("user:reset")
- public RestResponse resetPassword(@NotBlank(message = "{required}") String
usernames)
+ public RestResponse resetPassword(@NotBlank(message = "{required}") String
username)
throws Exception {
- String[] usernameArr = usernames.split(StringPool.COMMA);
- this.userService.resetPassword(usernameArr);
- return RestResponse.success();
+ String newPass = this.userService.resetPassword(username);
+ return RestResponse.success(newPass);
}
@Operation(summary = "List user types")
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/User.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/User.java
index bb6d02fba..4b3fc3375 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/User.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/entity/User.java
@@ -49,7 +49,7 @@ public class User implements Serializable {
public static final String SEX_UNKNOWN = "2";
- public static final String DEFAULT_PASSWORD = "streampark666";
+ public static final Integer DEFAULT_PASSWORD_LENGTH = 8;
@TableId(type = IdType.AUTO)
private Long userId;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
index fdcdfb943..686e31b86 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/UserService.java
@@ -90,9 +90,9 @@ public interface UserService extends IService<User> {
/**
* reset password
*
- * @param usernames user list
+ * @param username user name
*/
- void resetPassword(String[] usernames) throws Exception;
+ String resetPassword(String username) throws Exception;
/**
* Get the permissions of current userId.
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
index 9ab5f9599..61c296956 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/system/service/impl/UserServiceImpl.java
@@ -148,17 +148,17 @@ public class UserServiceImpl extends
ServiceImpl<UserMapper, User> implements Us
@Override
@Transactional(rollbackFor = Exception.class)
- public void resetPassword(String[] usernames) {
- for (String username : usernames) {
- User user = new User();
- String salt = ShaHashUtils.getRandomSalt();
- String password = ShaHashUtils.encrypt(salt, User.DEFAULT_PASSWORD);
- user.setSalt(salt);
- user.setPassword(password);
- LambdaQueryWrapper<User> queryWrapper =
- new LambdaQueryWrapper<User>().eq(User::getUsername, username);
- this.baseMapper.update(user, queryWrapper);
- }
+ public String resetPassword(String username) {
+ User user = new User();
+ String salt = ShaHashUtils.getRandomSalt();
+ String newPassword =
ShaHashUtils.getRandomSalt(User.DEFAULT_PASSWORD_LENGTH);
+ String password = ShaHashUtils.encrypt(salt, newPassword);
+ user.setSalt(salt);
+ user.setPassword(password);
+ LambdaQueryWrapper<User> queryWrapper =
+ new LambdaQueryWrapper<User>().eq(User::getUsername, username);
+ this.baseMapper.update(user, queryWrapper);
+ return newPassword;
}
@Override
diff --git
a/streampark-console/streampark-console-webapp/src/api/system/user.ts
b/streampark-console/streampark-console-webapp/src/api/system/user.ts
index 5a8d83ad8..f5273a073 100644
--- a/streampark-console/streampark-console-webapp/src/api/system/user.ts
+++ b/streampark-console/streampark-console-webapp/src/api/system/user.ts
@@ -104,8 +104,9 @@ export function deleteUser(data) {
return defHttp.delete({ url: Api.UserDelete, data });
}
-export function resetPassword(data) {
- return defHttp.put({ url: Api.ResetPassword, data });
+export function resetPassword(data): Promise<AxiosResponse<Result<string>>> {
+ return defHttp.put({ url: Api.ResetPassword, data },
+ { isReturnNativeResponse: true },);
}
export function checkUserName(data) {
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
index 0140553e5..74d56ccdc 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/en/system/user.ts
@@ -54,4 +54,6 @@ export default {
secret: 'secret',
locked: 'locked',
effective: 'effective',
+ resetSucceeded: 'Reset Succeeded',
+ newPasswordTip: "The new password is: ",
};
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
index 96d3342c5..4b51ee53a 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/system/user.ts
@@ -54,4 +54,6 @@ export default {
secret: '未知',
locked: '锁定',
effective: '有效',
+ resetSucceeded: '重置成功',
+ newPasswordTip: "新的密码为:",
};
diff --git
a/streampark-console/streampark-console-webapp/src/views/system/user/User.vue
b/streampark-console/streampark-console-webapp/src/views/system/user/User.vue
index da4964d4d..1d9d34a8f 100644
---
a/streampark-console/streampark-console-webapp/src/views/system/user/User.vue
+++
b/streampark-console/streampark-console-webapp/src/views/system/user/User.vue
@@ -160,8 +160,14 @@
async function handleReset(record: Recordable) {
const hide = createMessage.loading('reseting');
try {
- await resetPassword({ usernames: record.username });
- Swal.fire(t('system.user.table.resetSuccess', [record.username]),
'', 'success');
+ const resp = await resetPassword({ username: record.username });
+ if (resp.data.code == 200) {
+ Swal.fire({
+ icon: 'success',
+ title: t('system.user.resetSucceeded'),
+ text: t('system.user.newPasswordTip') + resp.data.data,
+ });
+ }
} catch (error) {
console.error('user password fail:', error);
} finally {