+++ src/main/java/itn/let/cert/ip/service/CertLoginLogService.java
... | ... | @@ -0,0 +1,14 @@ |
| 1 | +package itn.let.cert.ip.service; | |
| 2 | + | |
| 3 | +import javax.servlet.http.HttpServletRequest; | |
| 4 | + | |
| 5 | +import egovframework.rte.fdl.cmmn.exception.FdlException; | |
| 6 | + | |
| 7 | +public interface CertLoginLogService { | |
| 8 | + | |
| 9 | + | |
| 10 | + public void insertCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO, HttpServletRequest request) throws FdlException; | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | +} |
+++ src/main/java/itn/let/cert/ip/service/MberCertLoginLogVO.java
... | ... | @@ -0,0 +1,68 @@ |
| 1 | +package itn.let.cert.ip.service; | |
| 2 | + | |
| 3 | +import itn.let.uss.umt.service.UserDefaultVO; | |
| 4 | +/** | |
| 5 | + * | |
| 6 | + * @author : 이호영 | |
| 7 | + * @fileName : MberCertLoginLogVO.java | |
| 8 | + * @date : 2024.11.21 | |
| 9 | + * @description : 로그인 이력관리 92동안만 관리하고 삭제 | |
| 10 | + * =========================================================== | |
| 11 | + * DATE AUTHOR NOTE | |
| 12 | + * ----------------------------------------------------------- * | |
| 13 | + * 2024.11.21 이호영 최초 생성 | |
| 14 | + * | |
| 15 | + * | |
| 16 | + * | |
| 17 | + */ | |
| 18 | +public class MberCertLoginLogVO extends UserDefaultVO{ | |
| 19 | + | |
| 20 | + | |
| 21 | + /** | |
| 22 | + * @description : | |
| 23 | + */ | |
| 24 | + private static final long serialVersionUID = 1L; | |
| 25 | + | |
| 26 | + | |
| 27 | + private String certLoginId; | |
| 28 | + private String loginId; | |
| 29 | + private String loginIp; | |
| 30 | + private String loginDevice; | |
| 31 | + private String loginDt; | |
| 32 | + | |
| 33 | + | |
| 34 | + public String getCertLoginId() { | |
| 35 | + return certLoginId; | |
| 36 | + } | |
| 37 | + public void setCertLoginId(String certLoginId) { | |
| 38 | + this.certLoginId = certLoginId; | |
| 39 | + } | |
| 40 | + public String getLoginId() { | |
| 41 | + return loginId; | |
| 42 | + } | |
| 43 | + public void setLoginId(String loginId) { | |
| 44 | + this.loginId = loginId; | |
| 45 | + } | |
| 46 | + public String getLoginIp() { | |
| 47 | + return loginIp; | |
| 48 | + } | |
| 49 | + public void setLoginIp(String loginIp) { | |
| 50 | + this.loginIp = loginIp; | |
| 51 | + } | |
| 52 | + public String getLoginDevice() { | |
| 53 | + return loginDevice; | |
| 54 | + } | |
| 55 | + public void setLoginDevice(String loginDevice) { | |
| 56 | + this.loginDevice = loginDevice; | |
| 57 | + } | |
| 58 | + public String getLoginDt() { | |
| 59 | + return loginDt; | |
| 60 | + } | |
| 61 | + public void setLoginDt(String loginDt) { | |
| 62 | + this.loginDt = loginDt; | |
| 63 | + } | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | +} |
+++ src/main/java/itn/let/cert/ip/service/impl/CertLoginLogDAO.java
... | ... | @@ -0,0 +1,41 @@ |
| 1 | +package itn.let.cert.ip.service.impl; | |
| 2 | + | |
| 3 | +import org.springframework.stereotype.Repository; | |
| 4 | + | |
| 5 | +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; | |
| 6 | +import itn.let.cert.ip.service.MberCertLoginLogVO; | |
| 7 | + | |
| 8 | +@Repository("CertLoginLogDAO") | |
| 9 | +public class CertLoginLogDAO extends EgovAbstractDAO { | |
| 10 | + | |
| 11 | + | |
| 12 | +/* | |
| 13 | + public List<MberCertIpVO> selectMberCertIpList(MberCertIpVO mberCertIpVO) { | |
| 14 | + return (List<MberCertIpVO>) list("MberCertIpVO.selectMberCertIpList", mberCertIpVO); | |
| 15 | + } | |
| 16 | + | |
| 17 | + public void insertCertIp(MberCertIpVO mberCertIpVO) { | |
| 18 | + insert("MberCertIpVO.insertCertIp", mberCertIpVO); | |
| 19 | + } | |
| 20 | + | |
| 21 | + public void deleteCertIp(MberCertIpVO mberCertIpVO) { | |
| 22 | + insert("MberCertIpVO.deleteCertIp", mberCertIpVO); | |
| 23 | + } | |
| 24 | + | |
| 25 | + public MberCertIpVO findByMberCertIpList(MberCertIpVO mberCertIpVO) { | |
| 26 | + return (MberCertIpVO) select("MberCertIpVO.findByMberCertIpList", mberCertIpVO); | |
| 27 | + } | |
| 28 | +*/ | |
| 29 | + public void insertCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO) { | |
| 30 | + insert("MberCertLoginLogVO.insertCertLoginLog", mberCertLoginLogVO); | |
| 31 | + } | |
| 32 | + | |
| 33 | + public int checkLoginIpExists(MberCertLoginLogVO mberCertLoginLogVO) { | |
| 34 | + return (int) select("MberCertLoginLogVO.checkLoginIpExists", mberCertLoginLogVO); | |
| 35 | + } | |
| 36 | + | |
| 37 | + public void updateCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO) { | |
| 38 | + insert("MberCertLoginLogVO.updateCertLoginLog", mberCertLoginLogVO); | |
| 39 | + } | |
| 40 | + | |
| 41 | +} |
+++ src/main/java/itn/let/cert/ip/service/impl/CertLoginLogServiceImpl.java
... | ... | @@ -0,0 +1,78 @@ |
| 1 | +package itn.let.cert.ip.service.impl; | |
| 2 | + | |
| 3 | +import javax.annotation.Resource; | |
| 4 | +import javax.servlet.http.HttpServletRequest; | |
| 5 | + | |
| 6 | +import org.springframework.stereotype.Service; | |
| 7 | + | |
| 8 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 9 | +import egovframework.rte.fdl.cmmn.exception.FdlException; | |
| 10 | +import egovframework.rte.fdl.idgnr.EgovIdGnrService; | |
| 11 | +import itn.let.cert.ip.service.CertLoginLogService; | |
| 12 | +import itn.let.cert.ip.service.MberCertLoginLogVO; | |
| 13 | + | |
| 14 | +@Service("CertLoginLogService") | |
| 15 | +public class CertLoginLogServiceImpl extends EgovAbstractServiceImpl implements CertLoginLogService { | |
| 16 | + | |
| 17 | + @Resource(name = "CertLoginLogDAO") | |
| 18 | + private CertLoginLogDAO certLoginLogDAO; | |
| 19 | + | |
| 20 | + @Resource(name = "egovMjonCertLoginLogIdGnrService") | |
| 21 | + private EgovIdGnrService certLoginLogIdGnrService; | |
| 22 | +/* | |
| 23 | + @Override | |
| 24 | + public StatusResponse selectMberCertIpList(MberCertIpVO mberCertPhoneVO) { | |
| 25 | + List<MberCertIpVO> mberCertIpListVO = certLoginLogDAO.selectMberCertIpList(mberCertPhoneVO); | |
| 26 | + return new StatusResponse(HttpStatus.OK, mberCertIpListVO, LocalDateTime.now()); | |
| 27 | + } | |
| 28 | + | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public StatusResponse insertCertIp(MberCertIpVO mberCertIpVO) { | |
| 32 | + MberCertIpVO mberCertIpListVO = certLoginLogDAO.findByMberCertIpList(mberCertIpVO); | |
| 33 | + if(mberCertIpListVO != null) { | |
| 34 | + return new StatusResponse(HttpStatus.CONFLICT, "중복 IP입니다.", LocalDateTime.now()); | |
| 35 | + } | |
| 36 | + certLoginLogDAO.insertCertIp(mberCertIpVO); | |
| 37 | + return new StatusResponse(HttpStatus.OK, "등록 하였습니다.", LocalDateTime.now()); | |
| 38 | + } | |
| 39 | + | |
| 40 | + | |
| 41 | + @Override | |
| 42 | + public StatusResponse deleteCertIp(MberCertIpVO mberCertIpVO) { | |
| 43 | + certLoginLogDAO.deleteCertIp(mberCertIpVO); | |
| 44 | + return new StatusResponse(HttpStatus.OK, "삭제 하였습니다.", LocalDateTime.now()); | |
| 45 | + } | |
| 46 | +*/ | |
| 47 | + | |
| 48 | + @Override | |
| 49 | + public void insertCertLoginLog(MberCertLoginLogVO mberCertLoginLogVO, HttpServletRequest request) throws FdlException { | |
| 50 | + | |
| 51 | + | |
| 52 | + int count = certLoginLogDAO.checkLoginIpExists(mberCertLoginLogVO); | |
| 53 | + | |
| 54 | + if (count > 0) { | |
| 55 | + // 이미 존재하면 UPDATE | |
| 56 | + certLoginLogDAO.updateCertLoginLog(mberCertLoginLogVO); | |
| 57 | + } else { | |
| 58 | + | |
| 59 | + mberCertLoginLogVO.setCertLoginId(certLoginLogIdGnrService.getNextStringId()); | |
| 60 | + mberCertLoginLogVO.setLoginDevice(getDevice(request)); | |
| 61 | + certLoginLogDAO.insertCertLoginLog(mberCertLoginLogVO); | |
| 62 | + | |
| 63 | + } | |
| 64 | + } | |
| 65 | + | |
| 66 | + private String getDevice(HttpServletRequest request) { | |
| 67 | + String userAgent = request.getHeader("User-Agent").toLowerCase(); | |
| 68 | + | |
| 69 | + if (userAgent.contains("mobile") || userAgent.contains("android") || userAgent.contains("iphone")) { | |
| 70 | + return "M"; | |
| 71 | + } else if (userAgent.contains("tablet") || userAgent.contains("ipad")) { | |
| 72 | + return "T"; | |
| 73 | + } else { | |
| 74 | + return "D"; | |
| 75 | + } | |
| 76 | + } | |
| 77 | + | |
| 78 | +} |
+++ src/main/java/itn/let/cert/ip/web/CertLoginLogController.java
... | ... | @@ -0,0 +1,102 @@ |
| 1 | +package itn.let.cert.ip.web; | |
| 2 | + | |
| 3 | +import java.time.LocalDateTime; | |
| 4 | + | |
| 5 | +import javax.annotation.Resource; | |
| 6 | + | |
| 7 | +import org.apache.commons.lang3.StringUtils; | |
| 8 | +import org.springframework.http.HttpStatus; | |
| 9 | +import org.springframework.http.ResponseEntity; | |
| 10 | +import org.springframework.stereotype.Controller; | |
| 11 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 12 | +import org.springframework.web.servlet.ModelAndView; | |
| 13 | + | |
| 14 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 15 | +import itn.com.cmm.LoginVO; | |
| 16 | +import itn.com.utl.fcc.service.EgovStringUtil; | |
| 17 | +import itn.let.cert.ip.service.CertLoginLogService; | |
| 18 | +import itn.let.cert.ip.service.MberCertIpVO; | |
| 19 | +import itn.let.mail.service.StatusResponse; | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * | |
| 23 | + * @author : 이호영 | |
| 24 | + * @fileName : CertIpController.java | |
| 25 | + * @date : 2024.11.19 | |
| 26 | + * @description : 허용 IP 관련 컨트롤러 | |
| 27 | + * =========================================================== | |
| 28 | + * DATE AUTHOR NOTE | |
| 29 | + * ----------------------------------------------------------- * | |
| 30 | + * 2024.11.19 이호영 최초 생성 | |
| 31 | + * | |
| 32 | + * | |
| 33 | + * | |
| 34 | + */ | |
| 35 | +@Controller | |
| 36 | +public class CertLoginLogController { | |
| 37 | + | |
| 38 | + | |
| 39 | + /* CertLoginLogService */ | |
| 40 | + @Resource(name = "CertLoginLogService") | |
| 41 | + private CertLoginLogService certLoginLogService; | |
| 42 | + | |
| 43 | + /* | |
| 44 | + @RequestMapping(value = {"/cert/ip/selectMberCertIpList.do"}) | |
| 45 | + public ResponseEntity<StatusResponse> selectMberCertIpList(MberCertIpVO mberCertPhoneVO) throws Exception { | |
| 46 | + | |
| 47 | + ModelAndView modelAndView = new ModelAndView(); | |
| 48 | + modelAndView.setViewName("jsonView"); | |
| 49 | + | |
| 50 | + //로그인 권한정보 불러오기 | |
| 51 | + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; | |
| 52 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 53 | + | |
| 54 | + if(userId == null) { | |
| 55 | + if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); | |
| 56 | + } | |
| 57 | + mberCertPhoneVO.setMberId(userId); | |
| 58 | + return ResponseEntity.ok().body(certLoginLogService.selectMberCertIpList(mberCertPhoneVO)); | |
| 59 | + } | |
| 60 | + | |
| 61 | + | |
| 62 | + @RequestMapping(value = {"/cert/ip/insertCertIp.do"}) | |
| 63 | + public ResponseEntity<StatusResponse> insertCertIp(MberCertIpVO mberCertIpVO) throws Exception { | |
| 64 | + | |
| 65 | + ModelAndView modelAndView = new ModelAndView(); | |
| 66 | + modelAndView.setViewName("jsonView"); | |
| 67 | + | |
| 68 | + //로그인 권한정보 불러오기 | |
| 69 | + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; | |
| 70 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 71 | + | |
| 72 | + if(userId == null) { | |
| 73 | + if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); | |
| 74 | + } | |
| 75 | + mberCertIpVO.setFrstRegisterId(userId); | |
| 76 | + mberCertIpVO.setMberId(userId); | |
| 77 | + | |
| 78 | + | |
| 79 | + return ResponseEntity.ok().body(certLoginLogService.insertCertIp(mberCertIpVO)); | |
| 80 | + } | |
| 81 | + | |
| 82 | + @RequestMapping(value = {"/cert/ip/deleteCertIp.do"}) | |
| 83 | + public ResponseEntity<StatusResponse> deleteCertIp(MberCertIpVO mberCertIpVO) throws Exception { | |
| 84 | + | |
| 85 | + ModelAndView modelAndView = new ModelAndView(); | |
| 86 | + modelAndView.setViewName("jsonView"); | |
| 87 | + | |
| 88 | + //로그인 권한정보 불러오기 | |
| 89 | + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; | |
| 90 | + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); | |
| 91 | + | |
| 92 | + if(userId == null) { | |
| 93 | + if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now())); | |
| 94 | + } | |
| 95 | + mberCertIpVO.setLastUpdusrId(userId); | |
| 96 | + mberCertIpVO.setMberId(userId); | |
| 97 | + | |
| 98 | + | |
| 99 | + return ResponseEntity.ok().body(certLoginLogService.deleteCertIp(mberCertIpVO)); | |
| 100 | + } | |
| 101 | + */ | |
| 102 | +}(No newline at end of file) |
--- src/main/java/itn/let/uat/uia/web/EgovLoginController.java
+++ src/main/java/itn/let/uat/uia/web/EgovLoginController.java
... | ... | @@ -83,6 +83,8 @@ |
| 83 | 83 |
import itn.com.cmm.util.WebUtil; |
| 84 | 84 |
import itn.com.uss.olh.hpc.service.HackIpService; |
| 85 | 85 |
import itn.com.uss.olh.hpc.service.HackIpVO; |
| 86 |
+import itn.let.cert.ip.service.CertLoginLogService; |
|
| 87 |
+import itn.let.cert.ip.service.MberCertLoginLogVO; |
|
| 86 | 88 |
import itn.let.cert.phone.service.CertPhoneService; |
| 87 | 89 |
import itn.let.cert.phone.service.MberCertPhoneVO; |
| 88 | 90 |
import itn.let.cop.bbs.service.BoardVO; |
... | ... | @@ -241,6 +243,9 @@ |
| 241 | 243 |
|
| 242 | 244 |
@Resource(name = "CertPhoneService") |
| 243 | 245 |
private CertPhoneService certPhoneService; |
| 246 |
+ |
|
| 247 |
+ @Resource(name = "CertLoginLogService") |
|
| 248 |
+ private CertLoginLogService certLoginLogService; |
|
| 244 | 249 |
|
| 245 | 250 |
private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class); |
| 246 | 251 |
|
... | ... | @@ -1111,6 +1116,7 @@ |
| 1111 | 1116 |
|
| 1112 | 1117 |
// 공인 IP 구하기 |
| 1113 | 1118 |
String userIp = EgovClntInfo.getClntIP(request); |
| 1119 |
+ System.out.println("userIp :: "+userIp);
|
|
| 1114 | 1120 |
// java.util.Scanner s = new java.util.Scanner(new |
| 1115 | 1121 |
// java.net.URL("https://api.ipify.org").openStream(),
|
| 1116 | 1122 |
// "UTF-8").useDelimiter("\\A");
|
... | ... | @@ -2664,7 +2670,14 @@ |
| 2664 | 2670 |
loginVO.getIp(); |
| 2665 | 2671 |
loginVO.setMessage("로그인 성공되었습니다.");
|
| 2666 | 2672 |
loginVO.setLoginYn("Y");
|
| 2673 |
+ |
|
| 2667 | 2674 |
loginService.insertActionLoginLog(loginVO); |
| 2675 |
+ // 인증 로그인 이력을 위한 insert |
|
| 2676 |
+ |
|
| 2677 |
+ MberCertLoginLogVO mberCertLoginLogVO = new MberCertLoginLogVO(); |
|
| 2678 |
+ mberCertLoginLogVO.setLoginId(loginVO.getId()); |
|
| 2679 |
+ mberCertLoginLogVO.setLoginIp(loginVO.getIp()); |
|
| 2680 |
+ certLoginLogService.insertCertLoginLog(mberCertLoginLogVO, request); |
|
| 2668 | 2681 |
} |
| 2669 | 2682 |
|
| 2670 | 2683 |
// 등급제 Start |
--- src/main/resources/egovframework/spring/com/context-idgen.xml
+++ src/main/resources/egovframework/spring/com/context-idgen.xml
... | ... | @@ -2849,5 +2849,24 @@ |
| 2849 | 2849 |
<property name="cipers" value="13" /> |
| 2850 | 2850 |
<property name="fillChar" value="0" /> |
| 2851 | 2851 |
</bean> |
| 2852 |
+ |
|
| 2853 |
+ |
|
| 2854 |
+ <!-- 문자온 로그인LOG ID Generation Strategy Config --> |
|
| 2855 |
+ <bean name="egovMjonCertLoginLogIdGnrService" |
|
| 2856 |
+ class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" |
|
| 2857 |
+ destroy-method="destroy"> |
|
| 2858 |
+ <property name="dataSource" ref="dataSource" /> |
|
| 2859 |
+ <property name="strategy" ref="mjonCertLoginLogIdStrategy" /> |
|
| 2860 |
+ <property name="blockSize" value="10"/> |
|
| 2861 |
+ <property name="table" value="IDS"/> |
|
| 2862 |
+ <property name="tableName" value="CERT_LOGIN_LOG_ID"/> |
|
| 2863 |
+ </bean> |
|
| 2864 |
+ <bean name="mjonCertLoginLogIdStrategy" |
|
| 2865 |
+ class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> |
|
| 2866 |
+ <property name="prefix" value="CERTLOGINLOG_" /> |
|
| 2867 |
+ <property name="cipers" value="10" /> |
|
| 2868 |
+ <property name="fillChar" value="0" /> |
|
| 2869 |
+ </bean> |
|
| 2870 |
+ |
|
| 2852 | 2871 |
|
| 2853 | 2872 |
</beans> |
--- src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cert.xml
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cert.xml
... | ... | @@ -3,6 +3,7 @@ |
| 3 | 3 |
|
| 4 | 4 |
<sqlMapConfig> |
| 5 | 5 |
<settings cacheModelsEnabled="true" useStatementNamespaces="true" /> |
| 6 |
- <sqlMap resource="egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml"/> <!-- 문자메세지 --> |
|
| 7 |
- <sqlMap resource="egovframework/sqlmap/let/cert/MjonCertPhone_SQL_mysql.xml"/> <!-- 문자메세지 --> |
|
| 6 |
+ <sqlMap resource="egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml"/> <!-- 로그인 허용 IP --> |
|
| 7 |
+ <sqlMap resource="egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml"/> <!-- 로그인 허용 IP를 위한 로그인Log --> |
|
| 8 |
+ <sqlMap resource="egovframework/sqlmap/let/cert/MjonCertPhone_SQL_mysql.xml"/> <!-- 로그인 인증 폰번호 --> |
|
| 8 | 9 |
</sqlMapConfig> |
+++ src/main/resources/egovframework/sqlmap/let/cert/MjonCertLoginLog_SQL_mysql.xml
... | ... | @@ -0,0 +1,45 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?><!-- | |
| 2 | + 수정일 수정자 수정내용 | |
| 3 | + ========= ======= ================================================= | |
| 4 | + 2021.03.01 신명섭 | |
| 5 | +--> | |
| 6 | +<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> | |
| 7 | +<sqlMap namespace="MjonCertLoginLog"> | |
| 8 | + <typeAlias alias="mberCertLoginLogVO" type="itn.let.cert.ip.service.MberCertLoginLogVO"/> | |
| 9 | + | |
| 10 | + | |
| 11 | + <select id="MberCertLoginLogVO.checkLoginIpExists" resultClass="int" parameterClass="mberCertLoginLogVO"> | |
| 12 | + SELECT COUNT(1) | |
| 13 | + FROM LETTNGNRLMBER_CERT_LOGIN_LOG_IP | |
| 14 | + WHERE LOGIN_IP = #loginIp# | |
| 15 | + AND LOGIN_ID = #loginId# | |
| 16 | + </select> | |
| 17 | + | |
| 18 | + <insert id="MberCertLoginLogVO.insertCertLoginLog" parameterClass="mberCertLoginLogVO"> | |
| 19 | + INSERT INTO LETTNGNRLMBER_CERT_LOGIN_LOG_IP | |
| 20 | + ( | |
| 21 | + CERT_LOGIN_ID, | |
| 22 | + LOGIN_ID, | |
| 23 | + LOGIN_IP, | |
| 24 | + LOGIN_DEVICE, | |
| 25 | + LOGIN_DT | |
| 26 | + ) | |
| 27 | + VALUES | |
| 28 | + ( | |
| 29 | + #certLoginId#, | |
| 30 | + #loginId#, | |
| 31 | + #loginIp#, | |
| 32 | + #loginDevice#, | |
| 33 | + NOW() | |
| 34 | + ) | |
| 35 | + </insert> | |
| 36 | + | |
| 37 | + <!-- LOGIN_IP가 존재할 경우 UPDATE --> | |
| 38 | + <update id="MberCertLoginLogVO.updateCertLoginLog" parameterClass="mberCertLoginLogVO"> | |
| 39 | + UPDATE LETTNGNRLMBER_CERT_LOGIN_LOG_IP | |
| 40 | + SET LOGIN_DT = NOW() | |
| 41 | + WHERE LOGIN_IP = #loginIp# | |
| 42 | + AND LOGIN_ID = #loginId# | |
| 43 | + </update> | |
| 44 | + | |
| 45 | +</sqlMap>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
... | ... | @@ -20,10 +20,8 @@ |
| 20 | 20 |
// on/off 시 confirm 창 노출 |
| 21 | 21 |
$('.security_set .tab_depth1 a').click(function () {
|
| 22 | 22 |
if ($(this).text().trim() == "ON") {
|
| 23 |
- if(!confirm("보안로그인 설정 후 로그인 시, 등록한 휴대폰번호로 추가 인증이 진행됩니다")){
|
|
| 24 |
- console.log('???');
|
|
| 25 |
- return false; |
|
| 26 |
- } |
|
| 23 |
+ confirm("보안로그인 설정 후 로그인 시, 등록한 휴대폰번호로 추가 인증이 진행됩니다");
|
|
| 24 |
+ |
|
| 27 | 25 |
} else {
|
| 28 | 26 |
confirm("가입자 휴대폰번호로 본인인증 후 해제가 가능하며, 보안로그인 설정을 해제함으로써 발생하는 손해에 대하여 회사는 책임지지 않습니다.");
|
| 29 | 27 |
openKMCISWindow(); |
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?