我想在用户扩展的基础上增加重置密码按钮:
public void resetPassword() {
userManagementService.changeUserPassword( , );
}
请问一下changeUserPassword方法的第二个参数我该怎么写?他要求newPassworHash,密码哈希值怎么获取?是需要自己写么?有没有能调用的可自动生成密码哈希值得函数?
我想在用户扩展的基础上增加重置密码按钮:
public void resetPassword() {
userManagementService.changeUserPassword( , );
}
请问一下changeUserPassword方法的第二个参数我该怎么写?他要求newPassworHash,密码哈希值怎么获取?是需要自己写么?有没有能调用的可自动生成密码哈希值得函数?
可以参考平台界面的方法:
com.haulmont.cuba.gui.app.security.user.changepassw.ChangePasswordDialog.changePassword
public void changePassword() {
if (validateAll()) {
User targetUser;
UUID targetUserId;
if (user == null) {
targetUserId = userSession.getUser().getId();
targetUser = userSession.getUser();
} else {
targetUserId = user.getId();
targetUser = user;
}
String newPassword = passwField.getValue();
String passwordHash = passwordEncryption.getPasswordHash(targetUserId, newPassword);
userManagementService.changeUserPassword(targetUserId, passwordHash);
publishPasswordChangedEvent(targetUser, newPassword);
showNotification(getMessage("passwordChanged"), NotificationType.HUMANIZED);
close(COMMIT_ACTION_ID);
}
}
好的,非常感谢!