--- src/main/java/itn/let/cert/ip/service/CertIpService.java
+++ src/main/java/itn/let/cert/ip/service/CertIpService.java
... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 |
package itn.let.cert.ip.service; |
| 2 | 2 |
|
| 3 |
+import java.util.List; |
|
| 4 |
+ |
|
| 3 | 5 |
import itn.let.mail.service.StatusResponse; |
| 4 | 6 |
|
| 5 | 7 |
public interface CertIpService {
|
... | ... | @@ -22,6 +24,11 @@ |
| 22 | 24 |
|
| 23 | 25 |
public StatusResponse deleteCertIp(MberCertIpVO mberCertIpVO); |
| 24 | 26 |
|
| 27 |
+ public Boolean checkCertIp(MberCertIpVO mberCertIpVO); |
|
| 28 |
+ |
|
| 29 |
+ public Boolean checkRegCertIp(MberCertIpVO mberCertIpVO); |
|
| 30 |
+ |
|
| 31 |
+ |
|
| 25 | 32 |
|
| 26 | 33 |
|
| 27 | 34 |
} |
--- src/main/java/itn/let/cert/ip/service/CertLoginLogService.java
+++ src/main/java/itn/let/cert/ip/service/CertLoginLogService.java
... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 |
package itn.let.cert.ip.service; |
| 2 | 2 |
|
| 3 |
+import java.util.List; |
|
| 4 |
+ |
|
| 3 | 5 |
import javax.servlet.http.HttpServletRequest; |
| 4 | 6 |
|
| 5 | 7 |
import egovframework.rte.fdl.cmmn.exception.FdlException; |
... | ... | @@ -9,6 +11,9 @@ |
| 9 | 11 |
|
| 10 | 12 |
public void insertCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO, HttpServletRequest request) throws FdlException; |
| 11 | 13 |
|
| 14 |
+ public List<MberCertLoginLogVO> findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO); |
|
| 15 |
+ |
|
| 16 |
+ |
|
| 12 | 17 |
|
| 13 | 18 |
|
| 14 | 19 |
} |
--- src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java
+++ src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java
... | ... | @@ -27,5 +27,13 @@ |
| 27 | 27 |
public MberCertIpVO findByMberCertIpList(MberCertIpVO mberCertIpVO) {
|
| 28 | 28 |
return (MberCertIpVO) select("MberCertIpVO.findByMberCertIpList", mberCertIpVO);
|
| 29 | 29 |
} |
| 30 |
+ |
|
| 31 |
+ public List<MberCertIpVO> checkCertIp(MberCertIpVO mberCertIpVO) {
|
|
| 32 |
+ return (List<MberCertIpVO>) list("MberCertIpVO.checkCertIp", mberCertIpVO);
|
|
| 33 |
+ } |
|
| 34 |
+ |
|
| 35 |
+ public List<MberCertIpVO> checkRegCertIp(MberCertIpVO mberCertIpVO) {
|
|
| 36 |
+ return (List<MberCertIpVO>) list("MberCertIpVO.checkRegCertIp", mberCertIpVO);
|
|
| 37 |
+ } |
|
| 30 | 38 |
|
| 31 | 39 |
} |
--- src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java
+++ src/main/java/itn/let/cert/ip/service/impl/CertIpServiceImpl.java
... | ... | @@ -21,8 +21,8 @@ |
| 21 | 21 |
|
| 22 | 22 |
|
| 23 | 23 |
@Override |
| 24 |
- public StatusResponse selectMberCertIpList(MberCertIpVO mberCertPhoneVO) {
|
|
| 25 |
- List<MberCertIpVO> mberCertIpListVO = certIpDAO.selectMberCertIpList(mberCertPhoneVO); |
|
| 24 |
+ public StatusResponse selectMberCertIpList(MberCertIpVO mberCertIpVO) {
|
|
| 25 |
+ List<MberCertIpVO> mberCertIpListVO = certIpDAO.selectMberCertIpList(mberCertIpVO); |
|
| 26 | 26 |
return new StatusResponse(HttpStatus.OK, mberCertIpListVO, LocalDateTime.now()); |
| 27 | 27 |
} |
| 28 | 28 |
|
... | ... | @@ -43,5 +43,26 @@ |
| 43 | 43 |
certIpDAO.deleteCertIp(mberCertIpVO); |
| 44 | 44 |
return new StatusResponse(HttpStatus.OK, "삭제 하였습니다.", LocalDateTime.now()); |
| 45 | 45 |
} |
| 46 |
+ |
|
| 47 |
+ |
|
| 48 |
+ @Override |
|
| 49 |
+ public Boolean checkCertIp(MberCertIpVO mberCertIpVO) {
|
|
| 50 |
+ List<MberCertIpVO> mberCertIpListVO = certIpDAO.checkCertIp(mberCertIpVO); |
|
| 51 |
+ if(mberCertIpListVO.size()>0) {
|
|
| 52 |
+ return true; |
|
| 53 |
+ }else {
|
|
| 54 |
+ return false; |
|
| 55 |
+ } |
|
| 56 |
+ } |
|
| 57 |
+ |
|
| 58 |
+ @Override |
|
| 59 |
+ public Boolean checkRegCertIp(MberCertIpVO mberCertIpVO) {
|
|
| 60 |
+ List<MberCertIpVO> mberCertIpListVO = certIpDAO.checkRegCertIp(mberCertIpVO); |
|
| 61 |
+ if(mberCertIpListVO.size()>0) {
|
|
| 62 |
+ return true; |
|
| 63 |
+ }else {
|
|
| 64 |
+ return false; |
|
| 65 |
+ } |
|
| 66 |
+ } |
|
| 46 | 67 |
|
| 47 | 68 |
} |
--- src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java
+++ src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java
... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 |
package itn.let.cert.ip.service.impl; |
| 2 | 2 |
|
| 3 |
+import java.util.List; |
|
| 4 |
+ |
|
| 3 | 5 |
import org.springframework.stereotype.Repository; |
| 4 | 6 |
|
| 5 | 7 |
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; |
... | ... | @@ -37,5 +39,9 @@ |
| 37 | 39 |
public void updateCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO) {
|
| 38 | 40 |
insert("MberCertLoginLogVO.updateCertLoginLog", mberCertLoginLogVO);
|
| 39 | 41 |
} |
| 42 |
+ |
|
| 43 |
+ public List<MberCertLoginLogVO> findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO) {
|
|
| 44 |
+ return (List<MberCertLoginLogVO>) list("MberCertLoginLogVO.findAllCertLoginLogVO", mberCertLoginLogVO);
|
|
| 45 |
+ } |
|
| 40 | 46 |
|
| 41 | 47 |
} |
--- src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java
+++ src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java
... | ... | @@ -1,5 +1,7 @@ |
| 1 | 1 |
package itn.let.cert.ip.service.impl; |
| 2 | 2 |
|
| 3 |
+import java.util.List; |
|
| 4 |
+ |
|
| 3 | 5 |
import javax.annotation.Resource; |
| 4 | 6 |
import javax.servlet.http.HttpServletRequest; |
| 5 | 7 |
|
... | ... | @@ -75,4 +77,11 @@ |
| 75 | 77 |
} |
| 76 | 78 |
} |
| 77 | 79 |
|
| 80 |
+ @Override |
|
| 81 |
+ public List<MberCertLoginLogVO> findAllCertLoginLogVO(MberCertLoginLogVO mberCertLoginLogVO) {
|
|
| 82 |
+ // TODO Auto-generated method stub |
|
| 83 |
+ return certLoginLogDAO.findAllCertLoginLogVO(mberCertLoginLogVO); |
|
| 84 |
+ |
|
| 85 |
+ } |
|
| 86 |
+ |
|
| 78 | 87 |
} |
--- src/main/java/itn/let/uat/uia/web/EgovMypageController.java
+++ src/main/java/itn/let/uat/uia/web/EgovMypageController.java
... | ... | @@ -41,6 +41,10 @@ |
| 41 | 41 |
import itn.com.cmm.util.RedirectUrlMaker; |
| 42 | 42 |
import itn.com.cmm.util.StringUtil; |
| 43 | 43 |
import itn.com.utl.fcc.service.EgovStringUtil; |
| 44 |
+import itn.let.cert.ip.service.CertIpService; |
|
| 45 |
+import itn.let.cert.ip.service.CertLoginLogService; |
|
| 46 |
+import itn.let.cert.ip.service.MberCertIpVO; |
|
| 47 |
+import itn.let.cert.ip.service.MberCertLoginLogVO; |
|
| 44 | 48 |
import itn.let.fax.user.service.FaxGroupDataVO; |
| 45 | 49 |
import itn.let.fax.user.service.FaxService; |
| 46 | 50 |
import itn.let.kakao.user.sent.service.KakaoSentService; |
... | ... | @@ -70,6 +74,7 @@ |
| 70 | 74 |
import itn.let.uss.umt.service.EgovUserManageService; |
| 71 | 75 |
import itn.let.uss.umt.service.MberManageVO; |
| 72 | 76 |
import itn.let.uss.umt.service.UserManageVO; |
| 77 |
+import itn.let.utl.sim.service.EgovClntInfo; |
|
| 73 | 78 |
import itn.let.utl.user.service.MjonNoticeSendUtil; |
| 74 | 79 |
|
| 75 | 80 |
/** |
... | ... | @@ -164,6 +169,14 @@ |
| 164 | 169 |
/** 등급제 관리 서비스 */ |
| 165 | 170 |
@Resource(name = "mberGrdService") |
| 166 | 171 |
MberGrdService mberGrdService; |
| 172 |
+ |
|
| 173 |
+// /* CertLoginLogService */ |
|
| 174 |
+ @Resource(name = "CertLoginLogService") |
|
| 175 |
+ private CertLoginLogService certLoginLogService; |
|
| 176 |
+ |
|
| 177 |
+// /* CertLoginLogService */ |
|
| 178 |
+ @Resource(name = "CertIpService") |
|
| 179 |
+ private CertIpService certIpService; |
|
| 167 | 180 |
|
| 168 | 181 |
/** |
| 169 | 182 |
* 마이페이지 비밀번호 변경 탭 |
... | ... | @@ -2927,13 +2940,58 @@ |
| 2927 | 2940 |
* 회원탈퇴 본인인증 화면 |
| 2928 | 2941 |
*/ |
| 2929 | 2942 |
@RequestMapping(value="/web/user/mberSecureLogin.do") |
| 2930 |
- public String secureLogin(@ModelAttribute MberManageVO mberManageVO |
|
| 2943 |
+ public String secureLogin(@ModelAttribute("mberCertLoginLogVO") MberCertLoginLogVO mberCertLoginLogVO
|
|
| 2931 | 2944 |
, ModelMap model, HttpServletRequest request, RedirectAttributes redirectAttributes) throws Exception {
|
| 2932 | 2945 |
|
| 2933 | 2946 |
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
| 2934 | 2947 |
if(loginVO == null) {
|
| 2935 | 2948 |
return "redirect:/web/user/login/login.do"; |
| 2936 | 2949 |
} |
| 2950 |
+ |
|
| 2951 |
+ //로그인 권한정보 불러오기 |
|
| 2952 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 2953 |
+ |
|
| 2954 |
+ |
|
| 2955 |
+ mberCertLoginLogVO.setLoginId(userId); |
|
| 2956 |
+ /** pageing */ |
|
| 2957 |
+ PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 2958 |
+ paginationInfo.setCurrentPageNo(mberCertLoginLogVO.getPageIndex()); |
|
| 2959 |
+ paginationInfo.setRecordCountPerPage(mberCertLoginLogVO.getPageUnit()); |
|
| 2960 |
+ paginationInfo.setPageSize(mberCertLoginLogVO.getPageSize()); |
|
| 2961 |
+ |
|
| 2962 |
+ mberCertLoginLogVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 2963 |
+ mberCertLoginLogVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 2964 |
+ mberCertLoginLogVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 2965 |
+ if("".equals(mberCertLoginLogVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 2966 |
+ mberCertLoginLogVO.setSearchSortCnd("LOGIN_DT");
|
|
| 2967 |
+ mberCertLoginLogVO.setSearchSortOrd("asc");
|
|
| 2968 |
+ } |
|
| 2969 |
+ |
|
| 2970 |
+ |
|
| 2971 |
+ //전체 발송 리스트 불러오기 |
|
| 2972 |
+ List<MberCertLoginLogVO> resultList = certLoginLogService.findAllCertLoginLogVO(mberCertLoginLogVO); |
|
| 2973 |
+ model.addAttribute("resultList", resultList);
|
|
| 2974 |
+ model.addAttribute("resultListCnt", resultList.size());
|
|
| 2975 |
+ |
|
| 2976 |
+ |
|
| 2977 |
+ paginationInfo.setTotalRecordCount( resultList.size()> 0 ? resultList.get(0).getTotCnt() : 0); |
|
| 2978 |
+ model.addAttribute("paginationInfo", paginationInfo);
|
|
| 2979 |
+ |
|
| 2980 |
+ |
|
| 2981 |
+ |
|
| 2982 |
+ |
|
| 2983 |
+ // 접속 IP |
|
| 2984 |
+ String cennectIP = EgovClntInfo.getClntIP(request); |
|
| 2985 |
+ model.addAttribute("cennectIP", cennectIP);
|
|
| 2986 |
+ |
|
| 2987 |
+ // 접속 IP가 등록되어있는지 확인 |
|
| 2988 |
+ MberCertIpVO mberCertIpVO = new MberCertIpVO(); |
|
| 2989 |
+ mberCertIpVO.setCertIp(cennectIP); |
|
| 2990 |
+ mberCertIpVO.setMberId(userId); |
|
| 2991 |
+ model.addAttribute("chkcertRegIP", certIpService.checkRegCertIp(mberCertIpVO));
|
|
| 2992 |
+ |
|
| 2993 |
+ |
|
| 2994 |
+ |
|
| 2937 | 2995 |
|
| 2938 | 2996 |
|
| 2939 | 2997 |
{
|
... | ... | @@ -2954,6 +3012,8 @@ |
| 2954 | 3012 |
AuthCertVO certVO = kmcCertCheck.authCertCheckNine(serverNm + "/web/user/selectSecurityAuthn.do", loginVO.getId()); |
| 2955 | 3013 |
model.addAttribute("certVO", certVO);
|
| 2956 | 3014 |
} |
| 3015 |
+ |
|
| 3016 |
+ |
|
| 2957 | 3017 |
|
| 2958 | 3018 |
model.addAttribute("pageTab", "mberSecureLogin");
|
| 2959 | 3019 |
return "web/user/mberSecureLogin"; |
... | ... | @@ -3773,12 +3833,17 @@ |
| 3773 | 3833 |
certVO.setCertNation(kmcVO.getNation()); |
| 3774 | 3834 |
certVO.setCertName(kmcVO.getName()); |
| 3775 | 3835 |
certVO.setCertResult(kmcVO.getResult()); |
| 3776 |
- certVO.setCertType("KMC_회원정보 변경");
|
|
| 3836 |
+ certVO.setCertType("dddddddddddddddddddddd");
|
|
| 3777 | 3837 |
certVO.setCertIpaddr(kmcVO.getIp()); |
| 3778 | 3838 |
certVO.setBirthDay(kmcVO.getBirthDay()); |
| 3779 | 3839 |
certVO.setSexdstnCode(kmcVO.getGender()); |
| 3780 | 3840 |
|
| 3781 |
- model.addAttribute("kmcVO", kmcVO);
|
|
| 3841 |
+ |
|
| 3842 |
+ //디비 테이블에 저장하기 |
|
| 3843 |
+ mberManageService.insertCertInfoLog(certVO); |
|
| 3844 |
+ |
|
| 3845 |
+ |
|
| 3846 |
+ |
|
| 3782 | 3847 |
|
| 3783 | 3848 |
return "web/user/securityAuthnPage"; |
| 3784 | 3849 |
} |
--- src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml
... | ... | @@ -86,4 +86,33 @@ |
| 86 | 86 |
|
| 87 | 87 |
|
| 88 | 88 |
|
| 89 |
+ <select id="MberCertIpVO.checkCertIp" parameterClass="mberCertIpVO" resultClass="mberCertIpVO"> |
|
| 90 |
+ /*MberCertIpVO.checkCertIp*/ |
|
| 91 |
+ |
|
| 92 |
+ select |
|
| 93 |
+ LOGIN_IP as certIp |
|
| 94 |
+ from lettngnrlmber_cert_login_log_ip |
|
| 95 |
+ where LOGIN_ID = #mberId# |
|
| 96 |
+ and CERT_IP = #certIp# |
|
| 97 |
+ union all |
|
| 98 |
+ select |
|
| 99 |
+ CERT_IP as certIp |
|
| 100 |
+ from lettngnrlmber_cert_ip |
|
| 101 |
+ where MBER_ID = #mberId# |
|
| 102 |
+ and CERT_IP = #certIp# |
|
| 103 |
+ AND CERT_USE_YN = 'Y' |
|
| 104 |
+ </select> |
|
| 105 |
+ |
|
| 106 |
+ |
|
| 107 |
+ <select id="MberCertIpVO.checkRegCertIp" parameterClass="mberCertIpVO" resultClass="mberCertIpVO"> |
|
| 108 |
+ /*MberCertIpVO.checkCennetIp*/ |
|
| 109 |
+ |
|
| 110 |
+ select |
|
| 111 |
+ CERT_IP as certIp |
|
| 112 |
+ from lettngnrlmber_cert_ip |
|
| 113 |
+ where MBER_ID = #mberId# |
|
| 114 |
+ and CERT_IP = #certIp# |
|
| 115 |
+ AND CERT_USE_YN = 'Y' |
|
| 116 |
+ </select> |
|
| 117 |
+ |
|
| 89 | 118 |
</sqlMap>(No newline at end of file) |
--- src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml
... | ... | @@ -8,6 +8,36 @@ |
| 8 | 8 |
<typeAlias alias="mberCertLoginLogVO" type="itn.let.cert.ip.service.MberCertLoginLogVO"/> |
| 9 | 9 |
|
| 10 | 10 |
|
| 11 |
+ |
|
| 12 |
+ |
|
| 13 |
+ <select id="MberCertLoginLogVO.findAllCertLoginLogVO" resultClass="mberCertLoginLogVO" parameterClass="mberCertLoginLogVO"> |
|
| 14 |
+ /*MberCertLoginLogVO.findAllCertLoginLogVO*/ |
|
| 15 |
+ |
|
| 16 |
+ |
|
| 17 |
+ SELECT |
|
| 18 |
+ COUNT(CERT_LOGIN_ID) OVER() AS totCnt |
|
| 19 |
+ , CERT_LOGIN_ID as certLoginId |
|
| 20 |
+ , LOGIN_ID as loginId |
|
| 21 |
+ , LOGIN_IP as loginIp |
|
| 22 |
+ , LOGIN_DEVICE as loginDevice |
|
| 23 |
+ , DATE_FORMAT(LOGIN_DT,'%Y-%m-%d %T') as loginDt |
|
| 24 |
+ FROM LETTNGNRLMBER_CERT_LOGIN_LOG_IP |
|
| 25 |
+ WHERE 1=1 |
|
| 26 |
+ and LOGIN_ID = #loginId# |
|
| 27 |
+ ORDER BY 1=1 |
|
| 28 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 29 |
+ ,$searchSortCnd$ |
|
| 30 |
+ </isNotEmpty> |
|
| 31 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 32 |
+ $searchSortOrd$ |
|
| 33 |
+ </isNotEmpty> |
|
| 34 |
+ |
|
| 35 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 36 |
+ |
|
| 37 |
+ </select> |
|
| 38 |
+ |
|
| 39 |
+ |
|
| 40 |
+ |
|
| 11 | 41 |
<select id="MberCertLoginLogVO.checkLoginIpExists" resultClass="int" parameterClass="mberCertLoginLogVO"> |
| 12 | 42 |
SELECT COUNT(1) |
| 13 | 43 |
FROM LETTNGNRLMBER_CERT_LOGIN_LOG_IP |
--- src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
... | ... | @@ -500,10 +500,19 @@ |
| 500 | 500 |
alert("호출입니다.");
|
| 501 | 501 |
} |
| 502 | 502 |
|
| 503 |
+function linkPage(pageNo){
|
|
| 504 |
+ var listForm = document.listForm ; |
|
| 505 |
+ listForm.pageIndex.value = pageNo ; |
|
| 506 |
+ listForm.submit(); |
|
| 507 |
+} |
|
| 508 |
+ |
|
| 503 | 509 |
//휴대푠 번호 등록 [끝]-------------------------------------------------------------------------------------------- |
| 504 | 510 |
|
| 505 | 511 |
</script> |
| 506 | 512 |
|
| 513 |
+<form name="listForm" action="<c:url value='/web/user/mberSecureLogin.do'/>" method="post"> |
|
| 514 |
+ <input name="pageIndex" type="hidden" value="<c:out value='${mberCertLoginLogVO.pageIndex}'/>"/>
|
|
| 515 |
+</form> |
|
| 507 | 516 |
<div class="mask"></div> |
| 508 | 517 |
|
| 509 | 518 |
<!-- 휴대폰인증 팝업 --> |
... | ... | @@ -579,8 +588,10 @@ |
| 579 | 588 |
<div class="title_wrap"> |
| 580 | 589 |
<p class="dashboard_title">보안로그인</p> |
| 581 | 590 |
<div class="title_box ip_add_wrap"> |
| 582 |
- <span>현재 접속중인 IP : <b>000.000.000.00</b></span> |
|
| 583 |
- <button type="button" class="btnType btnType6 btn_allow_ip_add">허용 IP 등록</button> |
|
| 591 |
+ <span>현재 접속중인 IP : <b><c:out value="${cennectIP }"/> <c:if test="${chkcertRegIP }"> [허용 IP] </c:if> </b></span>
|
|
| 592 |
+ <c:if test="${!chkcertRegIP }">
|
|
| 593 |
+ <button type="button" class="btnType btnType6 btn_allow_ip_add">허용 IP 등록</button> |
|
| 594 |
+ </c:if> |
|
| 584 | 595 |
</div> |
| 585 | 596 |
</div> |
| 586 | 597 |
|
... | ... | @@ -726,62 +737,19 @@ |
| 726 | 737 |
</tr> |
| 727 | 738 |
</thead> |
| 728 | 739 |
<tbody> |
| 740 |
+ <c:forEach var="result" items="${resultList}" varStatus="status">
|
|
| 729 | 741 |
<tr> |
| 730 |
- <td>2024-11-20 13:57:12</td> |
|
| 731 |
- <td>119.193.215.98</td> |
|
| 732 |
- <td>PC</td> |
|
| 742 |
+ <td><c:out value="${result.loginDt}"/></td>
|
|
| 743 |
+ <td><c:out value="${result.loginIp}"/></td>
|
|
| 744 |
+ <td><c:out value="${result.loginDevice}"/></td>
|
|
| 733 | 745 |
</tr> |
| 734 |
- <tr> |
|
| 735 |
- <td>2024-11-20 13:57:12</td> |
|
| 736 |
- <td>119.193.215.98</td> |
|
| 737 |
- <td>모바일</td> |
|
| 738 |
- </tr> |
|
| 739 |
- <tr> |
|
| 740 |
- <td>2024-11-20 13:57:12</td> |
|
| 741 |
- <td>119.193.215.98</td> |
|
| 742 |
- <td>PC</td> |
|
| 743 |
- </tr> |
|
| 744 |
- <tr> |
|
| 745 |
- <td>2024-11-20 13:57:12</td> |
|
| 746 |
- <td>119.193.215.98</td> |
|
| 747 |
- <td>모바일</td> |
|
| 748 |
- </tr> |
|
| 749 |
- <tr> |
|
| 750 |
- <td>2024-11-20 13:57:12</td> |
|
| 751 |
- <td>119.193.215.98</td> |
|
| 752 |
- <td>PC</td> |
|
| 753 |
- </tr> |
|
| 754 |
- <tr> |
|
| 755 |
- <td>2024-11-20 13:57:12</td> |
|
| 756 |
- <td>119.193.215.98</td> |
|
| 757 |
- <td>모바일</td> |
|
| 758 |
- </tr> |
|
| 759 |
- <tr> |
|
| 760 |
- <td>2024-11-20 13:57:12</td> |
|
| 761 |
- <td>119.193.215.98</td> |
|
| 762 |
- <td>PC</td> |
|
| 763 |
- </tr> |
|
| 764 |
- <tr> |
|
| 765 |
- <td>2024-11-20 13:57:12</td> |
|
| 766 |
- <td>119.193.215.98</td> |
|
| 767 |
- <td>모바일</td> |
|
| 768 |
- </tr> |
|
| 769 |
- <tr> |
|
| 770 |
- <td>2024-11-20 13:57:12</td> |
|
| 771 |
- <td>119.193.215.98</td> |
|
| 772 |
- <td>PC</td> |
|
| 773 |
- </tr> |
|
| 774 |
- <tr> |
|
| 775 |
- <td>2024-11-20 13:57:12</td> |
|
| 776 |
- <td>119.193.215.98</td> |
|
| 777 |
- <td>모바일</td> |
|
| 778 |
- </tr> |
|
| 746 |
+ </c:forEach> |
|
| 779 | 747 |
</tbody> |
| 780 | 748 |
</table> |
| 781 | 749 |
</div> |
| 782 | 750 |
<!-- //로그인 내역 --> |
| 783 | 751 |
<!-- pagination --> |
| 784 |
- <ul class="pagination"> |
|
| 752 |
+ <!-- <ul class="pagination"> |
|
| 785 | 753 |
<li class="page_first"><button><img src="/publish/images/content/page_first.png" alt=""></button></li> |
| 786 | 754 |
<li class="page_prev"><button><img src="/publish/images/content/page_prev.png" alt=""></button></li> |
| 787 | 755 |
<li class="on"><button>1</button></li> |
... | ... | @@ -796,8 +764,13 @@ |
| 796 | 764 |
<li><button>10</button></li> |
| 797 | 765 |
<li class="page_next"><button><img src="/publish/images/content/page_next.png" alt=""></button></li> |
| 798 | 766 |
<li class="page_last"><button><img src="/publish/images/content/page_last.png" alt=""></button></li> |
| 799 |
- </ul><!-- pagination --> |
|
| 800 |
- |
|
| 767 |
+ </ul>pagination |
|
| 768 |
+ --> |
|
| 769 |
+ <c:if test="${!empty resultList}">
|
|
| 770 |
+ <ul class="pagination"> |
|
| 771 |
+ <ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="linkPage" />
|
|
| 772 |
+ </ul> |
|
| 773 |
+ </c:if> |
|
| 801 | 774 |
</div> |
| 802 | 775 |
<!-- //보안로그인 --> |
| 803 | 776 |
</div> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?