From 26756f3e8e31dae89c985d3f1cabdb2c637e0970 Mon Sep 17 00:00:00 2001 From: USER Date: Thu, 11 Aug 2022 11:13:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EB=B0=80=EB=B2=88=ED=98=B8=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/uplus/ez/api/login/LoginService.java | 19 +++++++++++++++---- .../co/uplus/ez/api/login/dto/AuthUser.java | 5 +++++ .../mapper/mysql/login/login-mapper.xml | 4 ++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/kr/co/uplus/ez/api/login/LoginService.java b/src/main/java/kr/co/uplus/ez/api/login/LoginService.java index 9b71961..7865bdf 100644 --- a/src/main/java/kr/co/uplus/ez/api/login/LoginService.java +++ b/src/main/java/kr/co/uplus/ez/api/login/LoginService.java @@ -305,6 +305,7 @@ public class LoginService { authUser.setPwdChgDt(Const.COMM_YES); authUser.setAuthchrFailCnt(0); authUser.setLoginFailCnt(0); + authUser.setPwdOld(user.getPwd()); int reslut = loginMapper.updateAdmUser(authUser); @@ -348,20 +349,30 @@ public class LoginService { return new UpdatePasswordResDto(ApiResponseCode.CE_ID_NOT_FOUND); } - String newPw = EncryptionUtil.getCustomSHA512(updatePasswordReqDto.getUserId(), updatePasswordReqDto.getNewPw()); - String oldPw = user.getPwd(); + String newPwd = EncryptionUtil.getCustomSHA512(updatePasswordReqDto.getUserId(), updatePasswordReqDto.getNewPw()); + String nowPwd = user.getPwd(); - if(oldPw.equals(newPw)) { + // 현재 비밀번호랑 동일 한지 체크 + if(nowPwd.equals(newPwd)) { return new UpdatePasswordResDto(ApiResponseCode.CE_FAILED_TO_PW_CHANGE); } + // 이전 패스워드랑 동일 한지 체크 + if(user.getPwdOld() != null) { + String oldPwd = user.getPwdOld(); + if(oldPwd.equals(newPwd)) { + return new UpdatePasswordResDto(ApiResponseCode.CE_FAILED_TO_PW_CHANGE); + } + } + // 2. 비밀번호 변경 - update EZ_ADM_USER (비밀번호, 비밀번호변경일시) AuthUser authUser = new AuthUser(); authUser.setOprtrId(updatePasswordReqDto.getUserId()); - authUser.setPwd(newPw); + authUser.setPwd(newPwd); authUser.setPwdChgDt(Const.COMM_YES); authUser.setAuthchrFailCnt(0); authUser.setTmpPwdYn(Const.COMM_NO); + authUser.setPwdOld(nowPwd); int reslut = loginMapper.updateAdmUser(authUser); diff --git a/src/main/java/kr/co/uplus/ez/api/login/dto/AuthUser.java b/src/main/java/kr/co/uplus/ez/api/login/dto/AuthUser.java index b05575a..615fdd9 100644 --- a/src/main/java/kr/co/uplus/ez/api/login/dto/AuthUser.java +++ b/src/main/java/kr/co/uplus/ez/api/login/dto/AuthUser.java @@ -39,6 +39,7 @@ public class AuthUser implements UserDetails { private String accNm; // 대리점 명 private String accSttusCd; // 계정 상태 코드 private String pwChangeCheck; // 비밀번호 변경 여부 + private String pwdOld; // 이전 비밀번호 private Collection authorities; @@ -196,4 +197,8 @@ public class AuthUser implements UserDetails { public String getPwChangeCheck() { return pwChangeCheck; } + + public String getPwdOld() { + return pwdOld; + } } \ No newline at end of file diff --git a/src/main/resources/mapper/mysql/login/login-mapper.xml b/src/main/resources/mapper/mysql/login/login-mapper.xml index acc9840..424715b 100644 --- a/src/main/resources/mapper/mysql/login/login-mapper.xml +++ b/src/main/resources/mapper/mysql/login/login-mapper.xml @@ -85,6 +85,7 @@ END AS PW_CHANGE_CHECK , T1.AUT_CD , T1.TMP_PWD_YN + , T1.PWD_OLD FROM hubez_admin.EZ_ADM_USER T1 LEFT JOIN hubez_imdb.EZ_IM_USER T2 ON T1.OPRTR_ID = T2.LOGIN_ID @@ -231,6 +232,9 @@ , PWD_CHG_DT = NOW() + + , PWD_OLD = #{pwdOld} + WHERE OPRTR_ID = #{oprtrId}