From 821363335d3e6eff0e0afa8c662f62c1b821c279 Mon Sep 17 00:00:00 2001 From: KNKIM Date: Thu, 9 Sep 2021 09:08:56 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B0=9C=EC=9D=B8=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EC=95=94/=EB=B3=B5=ED=98=B8=ED=99=94=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=EB=AA=A8=EB=93=88=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/nlib/security/SecUserDAO.java | 3 ++ src/main/java/nlib/security/SecUserVO.java | 2 +- .../java/nlib/user/service/NlibLoginVO.java | 37 +++++++++++++++++++ .../java/nlib/user/service/impl/LoginDAO.java | 7 +--- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/src/main/java/nlib/security/SecUserDAO.java b/src/main/java/nlib/security/SecUserDAO.java index df4f908a..2711193d 100644 --- a/src/main/java/nlib/security/SecUserDAO.java +++ b/src/main/java/nlib/security/SecUserDAO.java @@ -45,6 +45,9 @@ public class SecUserDAO extends EgovComAbstractDAO { if(uInfo == null) { uInfo = new SecUserVO(); } else { + // 개인정보 복호화 + uInfo.decodePrivateInfo(); + // 다중 권한 설정 String authorities = (String)uInfo.getAuthorityList(); if(StringUtil.isEmpty(authorities)) { diff --git a/src/main/java/nlib/security/SecUserVO.java b/src/main/java/nlib/security/SecUserVO.java index 3b047957..a53a2493 100644 --- a/src/main/java/nlib/security/SecUserVO.java +++ b/src/main/java/nlib/security/SecUserVO.java @@ -7,6 +7,7 @@ import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetails; +import nlib.cmm.crypto.AriaCrypto; import nlib.cmm.service.NlibProperty; import nlib.user.service.NlibLoginVO; @@ -51,7 +52,6 @@ public class SecUserVO extends NlibLoginVO implements UserDetails { auth.add(new SimpleGrantedAuthority(authName)); } - /* 계정이 갖고있는 권한 목록을 리턴한다. * (non-Javadoc) * @see org.springframework.security.core.userdetails.UserDetails#getAuthorities() diff --git a/src/main/java/nlib/user/service/NlibLoginVO.java b/src/main/java/nlib/user/service/NlibLoginVO.java index 86e63a8c..7a09ed34 100644 --- a/src/main/java/nlib/user/service/NlibLoginVO.java +++ b/src/main/java/nlib/user/service/NlibLoginVO.java @@ -4,6 +4,7 @@ import java.io.Serializable; import java.util.Base64; import nlib.cmm.NlibCommonController; +import nlib.cmm.crypto.AriaCrypto; import nlib.util.StringUtil; /** @@ -78,6 +79,34 @@ public class NlibLoginVO implements Serializable { private String mobileVrfctNo = null; /* 본인확인 인증번호 */ private String mobileVrfctDd = null; /* 본인확인 인증번호 발송일자 */ + private boolean alerted = false; /* 로그인 후, 읽지 않은 알림 표출 여부 */ + + + /** + * 개인정보 암호화 내용 양방황 암호화 처리 대상인 항목에 대하여 인코딩 처리 + */ + public void encodePrivateInfo() { + + setMobileNo (AriaCrypto.encode(getMobileNo())); + setEmail (AriaCrypto.encode(getEmail())); + setZipCode (AriaCrypto.encode(getZipCode())); + setAddress (AriaCrypto.encode(getAddress())); + setAddressDetail(AriaCrypto.encode(getAddressDetail())); + setBirthday (AriaCrypto.encode(getBirthday())); + } + + /** + * 개인정보 암호화 내용 양방황 암호화 처리 대상인 항목에 대하여 복호화 처리 + */ + public void decodePrivateInfo() { + + setMobileNo (AriaCrypto.decode(getMobileNo())); + setEmail (AriaCrypto.decode(getEmail())); + setZipCode (AriaCrypto.decode(getZipCode())); + setAddress (AriaCrypto.decode(getAddress())); + setAddressDetail(AriaCrypto.decode(getAddressDetail())); + setBirthday (AriaCrypto.decode(getBirthday())); + } /** * 로그인인증키값을 리턴한다. 만일 존재하지 않을 경우, userId를 기반으로 인증키를 생성하여 리턴한다. @@ -397,5 +426,13 @@ public class NlibLoginVO implements Serializable { public void setEmailVrfctDd(String emailVrfctDd) { this.emailVrfctDd = emailVrfctDd; } + + public boolean isAlerted() { + return alerted; + } + + public void setAlerted(boolean alerted) { + this.alerted = alerted; + } } diff --git a/src/main/java/nlib/user/service/impl/LoginDAO.java b/src/main/java/nlib/user/service/impl/LoginDAO.java index eca61393..d32dbf76 100644 --- a/src/main/java/nlib/user/service/impl/LoginDAO.java +++ b/src/main/java/nlib/user/service/impl/LoginDAO.java @@ -28,12 +28,7 @@ public class LoginDAO extends EgovComAbstractDAO { // 개인정보 암호화 내용 복호화 처리 if(nlibLoginVO != null) { - nlibLoginVO.setMobileNo(AriaCrypto.decode(nlibLoginVO.getMobileNo())); - nlibLoginVO.setEmail(AriaCrypto.decode(nlibLoginVO.getEmail())); - nlibLoginVO.setZipCode(AriaCrypto.decode(nlibLoginVO.getZipCode())); - nlibLoginVO.setAddress(AriaCrypto.decode(nlibLoginVO.getAddress())); - nlibLoginVO.setAddressDetail(AriaCrypto.decode(nlibLoginVO.getAddressDetail())); - nlibLoginVO.setBirthday(AriaCrypto.decode(nlibLoginVO.getBirthday())); + nlibLoginVO.decodePrivateInfo(); } return (NlibLoginVO) nlibLoginVO; }