diff --git a/src/main/java/itn/let/cert/ip/service/CertIpService.java b/src/main/java/itn/let/cert/ip/service/CertIpService.java index b4b58285..49fd964c 100644 --- a/src/main/java/itn/let/cert/ip/service/CertIpService.java +++ b/src/main/java/itn/let/cert/ip/service/CertIpService.java @@ -1,5 +1,7 @@ package itn.let.cert.ip.service; +import java.util.List; + import itn.let.mail.service.StatusResponse; public interface CertIpService { @@ -22,6 +24,11 @@ public interface CertIpService { public StatusResponse deleteCertIp(MberCertIpVO mberCertIpVO); + public Boolean checkCertIp(MberCertIpVO mberCertIpVO); + + public Boolean checkRegCertIp(MberCertIpVO mberCertIpVO); + + } diff --git a/src/main/java/itn/let/cert/ip/service/CertLoginLogService.java b/src/main/java/itn/let/cert/ip/service/CertLoginLogService.java index 3af77334..c0bb6484 100644 --- a/src/main/java/itn/let/cert/ip/service/CertLoginLogService.java +++ b/src/main/java/itn/let/cert/ip/service/CertLoginLogService.java @@ -1,5 +1,7 @@ package itn.let.cert.ip.service; +import java.util.List; + import javax.servlet.http.HttpServletRequest; import egovframework.rte.fdl.cmmn.exception.FdlException; @@ -9,6 +11,9 @@ public interface CertLoginLogService { public void insertCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO, HttpServletRequest request) throws FdlException; + public List findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO); + + } diff --git a/src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java b/src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java index e1e2278c..f76ba664 100644 --- a/src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java +++ b/src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java @@ -27,5 +27,13 @@ public class CertIpDAO extends EgovAbstractDAO { public MberCertIpVO findByMberCertIpList(MberCertIpVO mberCertIpVO) { return (MberCertIpVO) select("MberCertIpVO.findByMberCertIpList", mberCertIpVO); } + + public List checkCertIp(MberCertIpVO mberCertIpVO) { + return (List) list("MberCertIpVO.checkCertIp", mberCertIpVO); + } + + public List checkRegCertIp(MberCertIpVO mberCertIpVO) { + return (List) list("MberCertIpVO.checkRegCertIp", mberCertIpVO); + } } diff --git a/src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java b/src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java index 023efcc4..31e4e6e6 100644 --- a/src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java +++ b/src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java @@ -21,8 +21,8 @@ public class CertIpServiceImpl extends EgovAbstractServiceImpl implements CertIp @Override - public StatusResponse selectMberCertIpList(MberCertIpVO mberCertPhoneVO) { - List mberCertIpListVO = certIpDAO.selectMberCertIpList(mberCertPhoneVO); + public StatusResponse selectMberCertIpList(MberCertIpVO mberCertIpVO) { + List mberCertIpListVO = certIpDAO.selectMberCertIpList(mberCertIpVO); return new StatusResponse(HttpStatus.OK, mberCertIpListVO, LocalDateTime.now()); } @@ -43,5 +43,26 @@ public class CertIpServiceImpl extends EgovAbstractServiceImpl implements CertIp certIpDAO.deleteCertIp(mberCertIpVO); return new StatusResponse(HttpStatus.OK, "삭제 하였습니다.", LocalDateTime.now()); } + + + @Override + public Boolean checkCertIp(MberCertIpVO mberCertIpVO) { + List mberCertIpListVO = certIpDAO.checkCertIp(mberCertIpVO); + if(mberCertIpListVO.size()>0) { + return true; + }else { + return false; + } + } + + @Override + public Boolean checkRegCertIp(MberCertIpVO mberCertIpVO) { + List mberCertIpListVO = certIpDAO.checkRegCertIp(mberCertIpVO); + if(mberCertIpListVO.size()>0) { + return true; + }else { + return false; + } + } } diff --git a/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java b/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java index 5f81c14a..8bc7b868 100644 --- a/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java +++ b/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java @@ -1,5 +1,7 @@ package itn.let.cert.ip.service.impl; +import java.util.List; + import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; @@ -37,5 +39,9 @@ public class CertLoginLogDAO extends EgovAbstractDAO { public void updateCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO) { insert("MberCertLoginLogVO.updateCertLoginLog", mberCertLoginLogVO); } + + public List findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO) { + return (List) list("MberCertLoginLogVO.findAllCertLoginLogVO", mberCertLoginLogVO); + } } diff --git a/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java b/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java index bd256583..d052ce9b 100644 --- a/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java +++ b/src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java @@ -1,5 +1,7 @@ package itn.let.cert.ip.service.impl; +import java.util.List; + import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -75,4 +77,11 @@ public class CertLoginLogServiceImpl extends EgovAbstractServiceImpl implements } } + @Override + public List findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO) { + // TODO Auto-generated method stub + return certLoginLogDAO.findAllCertLoginLogVO(mberCertLoginLogVO); + + } + } diff --git a/src/main/java/itn/let/uat/uia/web/EgovMypageController.java b/src/main/java/itn/let/uat/uia/web/EgovMypageController.java index 89320850..5e707225 100644 --- a/src/main/java/itn/let/uat/uia/web/EgovMypageController.java +++ b/src/main/java/itn/let/uat/uia/web/EgovMypageController.java @@ -41,6 +41,10 @@ import itn.com.cmm.util.MJUtil; import itn.com.cmm.util.RedirectUrlMaker; import itn.com.cmm.util.StringUtil; import itn.com.utl.fcc.service.EgovStringUtil; +import itn.let.cert.ip.service.CertIpService; +import itn.let.cert.ip.service.CertLoginLogService; +import itn.let.cert.ip.service.MberCertIpVO; +import itn.let.cert.ip.service.MberCertLoginLogVO; import itn.let.fax.user.service.FaxGroupDataVO; import itn.let.fax.user.service.FaxService; import itn.let.kakao.user.sent.service.KakaoSentService; @@ -70,6 +74,7 @@ import itn.let.uss.umt.service.EgovMberManageService; import itn.let.uss.umt.service.EgovUserManageService; import itn.let.uss.umt.service.MberManageVO; import itn.let.uss.umt.service.UserManageVO; +import itn.let.utl.sim.service.EgovClntInfo; import itn.let.utl.user.service.MjonNoticeSendUtil; /** @@ -164,6 +169,14 @@ public class EgovMypageController { /** 등급제 관리 서비스 */ @Resource(name = "mberGrdService") MberGrdService mberGrdService; + +// /* CertLoginLogService */ + @Resource(name = "CertLoginLogService") + private CertLoginLogService certLoginLogService; + +// /* CertLoginLogService */ + @Resource(name = "CertIpService") + private CertIpService certIpService; /** * 마이페이지 비밀번호 변경 탭 @@ -2927,13 +2940,58 @@ public class EgovMypageController { * 회원탈퇴 본인인증 화면 */ @RequestMapping(value="/web/user/mberSecureLogin.do") - public String secureLogin(@ModelAttribute MberManageVO mberManageVO + public String secureLogin(@ModelAttribute("mberCertLoginLogVO") MberCertLoginLogVO mberCertLoginLogVO , ModelMap model, HttpServletRequest request, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; if(loginVO == null) { return "redirect:/web/user/login/login.do"; } + + //로그인 권한정보 불러오기 + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + + mberCertLoginLogVO.setLoginId(userId); + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(mberCertLoginLogVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(mberCertLoginLogVO.getPageUnit()); + paginationInfo.setPageSize(mberCertLoginLogVO.getPageSize()); + + mberCertLoginLogVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + mberCertLoginLogVO.setLastIndex(paginationInfo.getLastRecordIndex()); + mberCertLoginLogVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + if("".equals(mberCertLoginLogVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + mberCertLoginLogVO.setSearchSortCnd("LOGIN_DT"); + mberCertLoginLogVO.setSearchSortOrd("asc"); + } + + + //전체 발송 리스트 불러오기 + List resultList = certLoginLogService.findAllCertLoginLogVO(mberCertLoginLogVO); + model.addAttribute("resultList", resultList); + model.addAttribute("resultListCnt", resultList.size()); + + + paginationInfo.setTotalRecordCount( resultList.size()> 0 ? resultList.get(0).getTotCnt() : 0); + model.addAttribute("paginationInfo", paginationInfo); + + + + + // 접속 IP + String cennectIP = EgovClntInfo.getClntIP(request); + model.addAttribute("cennectIP", cennectIP); + + // 접속 IP가 등록되어있는지 확인 + MberCertIpVO mberCertIpVO = new MberCertIpVO(); + mberCertIpVO.setCertIp(cennectIP); + mberCertIpVO.setMberId(userId); + model.addAttribute("chkcertRegIP", certIpService.checkRegCertIp(mberCertIpVO)); + + + { @@ -2954,6 +3012,8 @@ public class EgovMypageController { AuthCertVO certVO = kmcCertCheck.authCertCheckNine(serverNm + "/web/user/selectSecurityAuthn.do", loginVO.getId()); model.addAttribute("certVO", certVO); } + + model.addAttribute("pageTab", "mberSecureLogin"); return "web/user/mberSecureLogin"; @@ -3773,12 +3833,17 @@ public class EgovMypageController { certVO.setCertNation(kmcVO.getNation()); certVO.setCertName(kmcVO.getName()); certVO.setCertResult(kmcVO.getResult()); - certVO.setCertType("KMC_회원정보 변경"); + certVO.setCertType("dddddddddddddddddddddd"); certVO.setCertIpaddr(kmcVO.getIp()); certVO.setBirthDay(kmcVO.getBirthDay()); certVO.setSexdstnCode(kmcVO.getGender()); - model.addAttribute("kmcVO", kmcVO); + + //디비 테이블에 저장하기 + mberManageService.insertCertInfoLog(certVO); + + + return "web/user/securityAuthnPage"; } diff --git a/src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml index cb7b6da6..09b820a2 100644 --- a/src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml @@ -86,4 +86,33 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml index 55517b16..afc29c29 100644 --- a/src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml @@ -8,6 +8,36 @@ + + + + + + +
@@ -579,8 +588,10 @@ function callTo() {

보안로그인

- 현재 접속중인 IP : 000.000.000.00 - + 현재 접속중인 IP : [허용 IP] + + +
@@ -726,62 +737,19 @@ function callTo() { + - 2024-11-20 13:57:12 - 119.193.215.98 - PC - - - 2024-11-20 13:57:12 - 119.193.215.98 - 모바일 - - - 2024-11-20 13:57:12 - 119.193.215.98 - PC - - - 2024-11-20 13:57:12 - 119.193.215.98 - 모바일 - - - 2024-11-20 13:57:12 - 119.193.215.98 - PC - - - 2024-11-20 13:57:12 - 119.193.215.98 - 모바일 - - - 2024-11-20 13:57:12 - 119.193.215.98 - PC - - - 2024-11-20 13:57:12 - 119.193.215.98 - 모바일 - - - 2024-11-20 13:57:12 - 119.193.215.98 - PC - - - 2024-11-20 13:57:12 - 119.193.215.98 - 모바일 + + + + -
    + - +
pagination + --> + +
    + +
+