PasswordSetType

This commit is contained in:
MaxKey 2021-07-31 22:12:17 +08:00
parent 8210d11fa3
commit 494b2b01d0
4 changed files with 16 additions and 12 deletions

View File

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

View File

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

View File

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

View File

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