From 78629720f77c6c7b58f655322b294b6f3b4bb9cd Mon Sep 17 00:00:00 2001 From: shimingxy Date: Sun, 8 Dec 2019 19:13:29 +0800 Subject: [PATCH] changeUserPassword fix --- .../org/maxkey/dao/service/UserInfoService.java | 4 ++++ .../org/maxkey/web/contorller/SafeController.java | 13 ++++++++----- .../templates/views/layout/nav_primary.ftl | 8 +++++--- .../templates/views/safe/changeAppLoginPasswod.ftl | 7 +------ .../templates/views/safe/changePassword.ftl | 7 +------ 5 files changed, 19 insertions(+), 20 deletions(-) diff --git a/maxkey-dao/src/main/java/org/maxkey/dao/service/UserInfoService.java b/maxkey-dao/src/main/java/org/maxkey/dao/service/UserInfoService.java index af049d3bf..7b4974c7c 100644 --- a/maxkey-dao/src/main/java/org/maxkey/dao/service/UserInfoService.java +++ b/maxkey-dao/src/main/java/org/maxkey/dao/service/UserInfoService.java @@ -10,6 +10,8 @@ import org.maxkey.domain.UserInfo; import org.maxkey.util.DateUtils; import org.maxkey.util.StringUtils; import org.maxkey.web.WebContext; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; @@ -21,6 +23,7 @@ import org.springframework.stereotype.Service; */ @Service public class UserInfoService extends JpaBaseService { + final static Logger _logger = LoggerFactory.getLogger(UserInfoService.class); @Autowired private PasswordEncoder passwordEncoder; @@ -107,6 +110,7 @@ public class UserInfoService extends JpaBaseService { } String password = passwordEncoder.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword())); userInfo.setDecipherable(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword())); + _logger.debug("decipherable : "+userInfo.getDecipherable()); userInfo.setPassword(password); userInfo.setPasswordLastSetTime(DateUtils.getCurrentDateTimeAsString()); diff --git a/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java b/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java index b6e29cdba..ab10837ec 100644 --- a/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java +++ b/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java @@ -46,10 +46,11 @@ public class SafeController { @RequestParam("newPassword") String newPassword, @RequestParam("confirmPassword") String confirmPassword) { - changeUserPassword(oldPassword,newPassword,confirmPassword); - - return new Message(WebContext.getI18nValue(OPERATEMESSAGE.UPDATE_ERROR),MessageType.error); - + if(changeUserPassword(oldPassword,newPassword,confirmPassword)) { + return new Message(WebContext.getI18nValue(OPERATEMESSAGE.UPDATE_SUCCESS),MessageType.success); + }else { + return new Message(WebContext.getI18nValue(OPERATEMESSAGE.UPDATE_ERROR),MessageType.error); + } } @RequestMapping(value="/changeExpiredPassword") @@ -91,9 +92,11 @@ public class SafeController { String newPassword, String confirmPassword){ UserInfo userInfo =WebContext.getUserInfo(); + _logger.debug("decipherable : "+userInfo.getDecipherable()); + _logger.debug("decipherable : "+PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(), userInfo.getPassword())); if(newPassword.equals(confirmPassword)){ if(oldPassword==null || - userInfo.getPassword().equals(passwordEncoder.encode(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(),oldPassword)))){ + passwordEncoder.matches(PasswordReciprocal.getInstance().rawPassword(userInfo.getUsername(),oldPassword), userInfo.getPassword())){ userInfo.setPassword(newPassword); userInfoService.changePassword(userInfo); //TODO syncProvisioningService.changePassword(userInfo); diff --git a/maxkey-web-maxkey/src/main/resources/templates/views/layout/nav_primary.ftl b/maxkey-web-maxkey/src/main/resources/templates/views/layout/nav_primary.ftl index 90e7cbb0f..b6ab759cd 100644 --- a/maxkey-web-maxkey/src/main/resources/templates/views/layout/nav_primary.ftl +++ b/maxkey-web-maxkey/src/main/resources/templates/views/layout/nav_primary.ftl @@ -4,9 +4,6 @@ - +