MaxKey před 3 roky
rodič
revize
494b2b01d0

+ 5 - 3
maxkey-persistence/src/main/java/org/maxkey/persistence/service/UserInfoService.java

@@ -214,9 +214,10 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
 	}
 	
 	
-	public boolean changePassword(String oldPassword,
-            String newPassword,
-            String confirmPassword) {
+	public boolean changePassword(  String oldPassword,
+                                    String newPassword,
+                                    String confirmPassword,
+                                    int passwordSetType) {
 		try {
 		    WebContext.setAttribute(PasswordPolicyValidator.PASSWORD_POLICY_VALIDATE_RESULT, "");
 	        UserInfo userInfo = WebContext.getUserInfo();
@@ -225,6 +226,7 @@ public class UserInfoService extends JpaBaseService<UserInfo> {
 	        changeUserInfo.setPassword(newPassword);
 	        changeUserInfo.setId(userInfo.getId());
 	        changeUserInfo.setDecipherable(userInfo.getDecipherable());
+	        changeUserInfo.setPasswordSetType(passwordSetType);
 	        
 	        if(newPassword.equals(confirmPassword)){
 	            if(oldPassword==null || 

+ 6 - 6
maxkey-persistence/src/main/resources/org/maxkey/persistence/mapper/xml/mysql/UserInfoMapper.xml

@@ -95,12 +95,12 @@
     	
 	<update id="changePassword" parameterType="UserInfo" >
     	update mxk_userinfo set
-    		<if test="password != null">
-    		password			=	#{password},
-			decipherable		=	#{decipherable},
-			</if>
-			passwordsettype			=	0,
-			passwordlastsettime		=	current_timestamp
+    	<if test="password != null">
+    		password              = #{password},
+			decipherable          = #{decipherable},
+			passwordsettype       = #{passwordSetType},
+		</if>
+			passwordlastsettime	  =  current_timestamp
 		where 
 			id	=	#{id}
     </update>

+ 3 - 3
maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java

@@ -64,7 +64,7 @@ public class SafeController {
 			@RequestParam("newPassword") String newPassword,
 			@RequestParam("confirmPassword") String confirmPassword) {
 		
-			if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword)) {
+			if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword,ConstantsPasswordSetType.PASSWORD_NORMAL)) {
 				return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
 			}else {
 				return  new Message(
@@ -82,7 +82,7 @@ public class SafeController {
 			ModelAndView modelAndView=new ModelAndView("passwordExpired");
 	        if(newPassword ==null ||newPassword.equals("")) {
 	            
-	        }else if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword)){
+	        }else if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword,ConstantsPasswordSetType.PASSWORD_NORMAL)){
 	            WebContext.getSession().setAttribute(WebConstants.CURRENT_LOGIN_USER_PASSWORD_SET_TYPE,ConstantsPasswordSetType.PASSWORD_NORMAL);
 				return WebContext.redirect("/index");
 			}
@@ -103,7 +103,7 @@ public class SafeController {
 		ModelAndView modelAndView=new ModelAndView("passwordInitial");
         if(newPassword ==null ||newPassword.equals("")) {
             
-        }else if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword)){
+        }else if(userInfoService.changePassword(oldPassword,newPassword,confirmPassword,ConstantsPasswordSetType.PASSWORD_NORMAL)){
             WebContext.getSession().setAttribute(WebConstants.CURRENT_LOGIN_USER_PASSWORD_SET_TYPE,ConstantsPasswordSetType.PASSWORD_NORMAL);
 			return WebContext.redirect("/index");
 		}

+ 2 - 0
maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java

@@ -27,6 +27,7 @@ import javax.validation.Valid;
 
 import org.apache.mybatis.jpa.persistence.JpaPageResults;
 import org.maxkey.constants.ConstantsOperateMessage;
+import org.maxkey.constants.ConstantsPasswordSetType;
 import org.maxkey.crypto.ReciprocalUtils;
 import org.maxkey.entity.ExcelImport;
 import org.maxkey.entity.UserInfo;
@@ -264,6 +265,7 @@ public class UserInfoController {
 	@RequestMapping(value="/changePassword")  
 	public Message changePassword( @ModelAttribute("userInfo")UserInfo userInfo) {
 		_logger.debug(userInfo.getId());
+		userInfo.setPasswordSetType(ConstantsPasswordSetType.PASSWORD_NORMAL);
 		if(userInfoService.changePassword(userInfo,true)) {
 			return  new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);