이호영 이호영 2024-11-21
마이페이지 > 보안로그인 : 인증번호 등록 완료
@2e7852a002482b1c738e5939d432cb6c7832aad7
src/main/java/itn/let/cert/phone/service/CertPhoneService.java
--- src/main/java/itn/let/cert/phone/service/CertPhoneService.java
+++ src/main/java/itn/let/cert/phone/service/CertPhoneService.java
@@ -7,6 +7,7 @@
 
 public interface CertPhoneService {
 
+	
 //	public List<MberCertPhoneVO> selectMberCertPhoneList(String userId);
 //
 //	public StatusResponse insertMberCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
@@ -21,11 +22,13 @@
 
 	public StatusResponse selectMberCertPhoneList(MberCertPhoneVO mberCertPhoneVO);
 
-	public StatusResponse insertCertPhone(MberCertPhoneVO mberCertPhoneVO);
+	public StatusResponse insertCertPhone(MberCertPhoneVO mberCertPhoneVO, String moblphonNo);
 
 	public StatusResponse deleteCertPhone(MberCertPhoneVO mberCertPhoneVO);
 
 	public List<MberCertPhoneVO> selectMberCertPhoneList(String userId);
+	
+	public StatusResponse selectMberCertPhoneListWhereUserId(String userId);
 
 	public StatusResponse updateMberCertPhone(MberCertPhoneVO mberCertPhoneVO);
 
@@ -34,6 +37,7 @@
 
 
 
+
 	
 	
 }
src/main/java/itn/let/cert/phone/service/impl/CertPhoneServiceImpl.java
--- src/main/java/itn/let/cert/phone/service/impl/CertPhoneServiceImpl.java
+++ src/main/java/itn/let/cert/phone/service/impl/CertPhoneServiceImpl.java
@@ -28,10 +28,10 @@
 
 
 	@Override
-	public StatusResponse insertCertPhone(MberCertPhoneVO mberCertPhoneVO) {
-		MberCertPhoneVO mberCertIpListVO = certPhoneDAO.findByCertPhoneInfo(mberCertPhoneVO);
-		if(mberCertIpListVO != null) {
-			return new StatusResponse(HttpStatus.CONFLICT, "중복 IP입니다.", LocalDateTime.now());
+	public StatusResponse insertCertPhone(MberCertPhoneVO mberCertPhoneVO, String moblphonNo) {
+		MberCertPhoneVO mberCertPhoneListVO = certPhoneDAO.findByCertPhoneInfo(mberCertPhoneVO);
+		if(mberCertPhoneListVO != null || mberCertPhoneListVO.getMbtlnum().equals(moblphonNo) ) {
+			return new StatusResponse(HttpStatus.CONFLICT, "중복 번호입니다.", LocalDateTime.now());
 		}
 		certPhoneDAO.insertCertPhone(mberCertPhoneVO);
 		return new StatusResponse(HttpStatus.OK, "등록 하였습니다.", LocalDateTime.now());
@@ -60,6 +60,14 @@
 
 
 	@Override
+	public StatusResponse selectMberCertPhoneListWhereUserId(String userId) {
+		return new StatusResponse(HttpStatus.OK, certPhoneDAO.selectMberCertPhoneList(userId), LocalDateTime.now());
+	}
+	
+
+	
+
+	@Override
 	public StatusResponse updateMberCertPhone(MberCertPhoneVO mberCertPhoneVO) {
 		certPhoneDAO.updateMberCertPhone(mberCertPhoneVO);
 		return new StatusResponse(HttpStatus.OK, "수정 하였습니다.", LocalDateTime.now());
@@ -79,7 +87,7 @@
 		
 		return new StatusResponse(HttpStatus.OK, "", LocalDateTime.now());
 	}
-	
+
 
 	
 }
src/main/java/itn/let/cert/phone/web/CertPhoneController.java
--- src/main/java/itn/let/cert/phone/web/CertPhoneController.java
+++ src/main/java/itn/let/cert/phone/web/CertPhoneController.java
@@ -65,8 +65,8 @@
 			if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
 		}
 		mberCertPhoneVO.setMberId(userId);
-		
-		return ResponseEntity.ok().body(certPhoneService.selectMberCertPhoneList(mberCertPhoneVO));
+
+		return ResponseEntity.ok().body(certPhoneService.selectMberCertPhoneListWhereUserId(userId));
 	}	
 
 	@RequestMapping(value = {"/cert/phone/findByCertPhoneInfo.do"})
@@ -100,9 +100,9 @@
 		}
 		mberCertPhoneVO.setFrstRegisterId(userId);
 		mberCertPhoneVO.setMberId(userId);
+
 		
-		
-		return ResponseEntity.ok().body(certPhoneService.insertCertPhone(mberCertPhoneVO));
+		return ResponseEntity.ok().body(certPhoneService.insertCertPhone(mberCertPhoneVO, loginVO.getMoblphonNo()));
 	}	
 	
 	@RequestMapping(value = {"/cert/phone/updateCertPhone.do"})
@@ -119,6 +119,7 @@
 			if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
 		}
 		mberCertPhoneVO.setFrstRegisterId(userId);
+		mberCertPhoneVO.setMberId(userId);
 		
 		
 		return ResponseEntity.ok().body(certPhoneService.updateMberCertPhone(mberCertPhoneVO));
@@ -138,6 +139,7 @@
 			if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
 		}
 		mberCertPhoneVO.setLastUpdusrId(userId);
+		mberCertPhoneVO.setMberId(userId);
 		
 		
 		
@@ -160,14 +162,15 @@
 		}
 		mberCertPhoneVO.setMberId(userId);
 
+		// 번호 중복 확인
+		MberCertPhoneVO mberCertIpListVO = (MberCertPhoneVO) certPhoneService.findByCertPhoneInfo(mberCertPhoneVO).getObject();
+		if(mberCertIpListVO != null || loginVO.getMoblphonNo().equals(mberCertPhoneVO.getMbtlnum()) ) {
+			return ResponseEntity.ok().body(new StatusResponse(HttpStatus.CONFLICT, "등록된 번호입니다.", LocalDateTime.now()));
+		}
 
-		
-		
-		
 		MjonMsgVO mjonMsgVO = new MjonMsgVO();
 		mjonMsgVO.setCallTo(mberCertPhoneVO.getMbtlnum());
 		MjonMsgReturnVO returnVO = mjonMsgDataService.sendSysMsgData(mjonMsgVO);
-
 
 		String resultSts = returnVO.getSendMsgCnt();
 		String resultBlockSts = returnVO.getSendMsgBlockCnt();
src/main/java/itn/let/uat/uia/web/EgovMypageController.java
--- src/main/java/itn/let/uat/uia/web/EgovMypageController.java
+++ src/main/java/itn/let/uat/uia/web/EgovMypageController.java
@@ -450,25 +450,6 @@
 		}
 		
 	
-		{
-			/**
-			 * 보안인증 본인인증 기능추가
-			 * 20241120 원영현 과장 추가
-			 * */ 
-			KmcCertChecker kmcCertCheck = new KmcCertChecker();
-			
-			//kmc 본인인증 실/개발 서버 구분
-			String serverNm = "";
-			if(request.getServerName().contains("192.168.0.60") || request.getServerName().contains("localhost")) {
-				serverNm = request.getScheme() + "://192.168.0.60:8085";
-			}else{
-				serverNm = request.getScheme() + "://www.munjaon.co.kr";
-			}
-			
-			AuthCertVO certVO = kmcCertCheck.authCertCheckNine(serverNm + "/web/user/selectSecurityAuthn.do", loginVO.getId());
-			model.addAttribute("certVO", certVO);
-		}
-		
 		
 		return "web/user/mberInfoIndex";
 	}
@@ -2953,6 +2934,26 @@
 		if(loginVO == null) {
 			return "redirect:/web/user/login/login.do";
 		}
+		
+
+		{
+			/**
+			 * 보안인증 본인인증 기능추가
+			 * 20241120 원영현 과장 추가
+			 * */ 
+			KmcCertChecker kmcCertCheck = new KmcCertChecker();
+			
+			//kmc 본인인증 실/개발 서버 구분
+			String serverNm = "";
+			if(request.getServerName().contains("192.168.0.60") || request.getServerName().contains("localhost")) {
+				serverNm = request.getScheme() + "://192.168.0.60:8085";
+			}else{
+				serverNm = request.getScheme() + "://www.munjaon.co.kr";
+			}
+			
+			AuthCertVO certVO = kmcCertCheck.authCertCheckNine(serverNm + "/web/user/selectSecurityAuthn.do", loginVO.getId());
+			model.addAttribute("certVO", certVO);
+		}
 
 		model.addAttribute("pageTab", "mberSecureLogin");		
 		return "web/user/mberSecureLogin";
src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
--- src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberInfoIndex.jsp
@@ -476,10 +476,9 @@
 							<span class="user_name"><c:out value="${mberManageVO.mberNm}"/></span>
 							회원님 반갑습니다
 						</p>
-<%-- 						<c:if test="${loginVO.dept eq 'p'}"> --%>
-<!-- 								<button type="button" class="btnType" onclick="location.href='/web/user/membershipChange.do'">기업회원전환</button> -->
-								<button type="button" class="btnType" id="showLoginBtn">보안로그인</button>
-<%-- 						</c:if> --%>
+						<c:if test="${loginVO.dept eq 'p'}">
+								<button type="button" class="btnType" onclick="location.href='/web/user/membershipChange.do'">기업회원전환</button>
+						</c:if>
 					</div>
 					<div class="send_price">
 						<div class="price_title">나의<br />단가</div>
@@ -582,119 +581,6 @@
 					</div>
 				</div>
 				
-				<!-- 보안로그인 -->
-				<!-- 보안로그인 -->
-				<!-- 보안로그인 -->
-				<!-- 보안로그인 -->
-				<!-- 보안로그인 -->
-<!-- 				<div class="security_login" id="securityLogin" style="display: none;"> -->
-				<div class="security_login" id="securityLogin">
-
-					<ul class="explanation_wrap box info">
-						<li>· 사이트 부정로그인으로 인한 피해를 방지할 수 있는 2차 로그인 인증 서비스입니다. </li>
-						<li>· 인증 휴대폰번호 추가 등록 또는 IP 접속 허용을 통해 편리한 사용이 가능합니다.</li>
-						<li>· 보안로그인 기능을 사용할 경우 로그인 시 등록한 휴대폰번호로 추가 인증이 진행됩니다.</li>
-					</ul>
-
-
-					<!-- 보안로그인 설정 -->
-					<div class="security_set box">
-						<p class="dashboard_title">보안로그인</p>
-
-						<div class="set_area">
-							<p class="lately_date">최근 변경일시 : <span>2024-11-01 12:49</span></p>
-
-							<div class="tab_depth1">
-								<a href="#none" class="on" onclick="openKMCISWindow()">ON</a>
-								<a href="#none">OFF</a>
-							</div>
-						</div>
-					</div>
-					<!-- //보안로그인 설정 -->
-
-					<!-- 접속 IP관리 -->
-					<div class="title_area">
-						<p class="dashboard_title">접속 IP 관리</p>
-						<p class="qmMark">?</p>
-						<div class="hover_cont" style="width:380px;left:160px;top:25px;">
-							<p>접속 IP를 미리 등록할 경우 2차 로그인 인증 없이 접속이 가능합니다. <br>
-								<span>(공용 PC는 보안상의 이유로 등록을 권장하지 않습니다.)</span></p>
-						</div>
-						<button type="button" class="btn_plus btn_ip_plus"><img src="/publish/images/content/mypage_plus.png" alt="등록버튼"></button>
-					</div>
-
-					<div class="table_wrap ip_table">
-						<table>
-							<colgroup>
-								<col style="width: 26%;">
-								<col style="width: auto;">
-								<col style="width: 26%;">
-								<col style="width: 100px;">
-							</colgroup>
-							<thead>
-								<tr>
-									<th scope="col">허용IP</th>
-									<th scope="col">메모</th>
-									<th scope="col">등록일시</th>
-									<th scope="col">관리</th>
-								</tr>
-							</thead>
-							<tbody>
-								<tr>
-									<td colspan="4">등록된 IP 주소가 없습니다.</td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-					<!-- //접속 IP관리 -->
-
-					<!-- 인증 휴대폰번호 관리 -->
-					<div class="title_area">
-						<p class="dashboard_title">인증 휴대폰번호 관리</p>
-						<p class="qmMark">?</p>
-						<div class="hover_cont" style="width:330px;left:240px;top:25px;">
-							<p>인증에 사용할 휴대폰번호를 추가로 등록하여 관리할 수 있습니다. <br>
-								(등록 및 삭제 시 휴대폰 본인인증 필요)</p>
-						</div>
-						<button type="button" data-tooltip="popup05" class="btn_plus"><img src="/publish/images/content/mypage_plus.png" alt="더보기"></button>
-					</div>
-
-					<div class="table_wrap">
-						<table>
-							<colgroup>
-								<col style="width: calc((100% - 100px)/2);">
-								<col style="width: calc((100% - 100px)/2);">
-								<col style="width: 100px;">
-							</colgroup>
-							<thead>
-								<tr>
-									<th scope="col">휴대폰번호</th>
-									<th scope="col">등록일시</th>
-									<th scope="col">관리</th>
-								</tr>
-							</thead>
-							<tbody>
-								<tr>
-									<td>010-0000-0000</td>
-									<td>2024-11-04 11:54</td>
-									<td>-</td>
-								</tr>
-								<tr>
-									<td>192.168.0.0</td>
-									<td>dadfadfjadkfjalkdjfajflajdlfjaldjflajd</td>
-									<td><button type="button" class="btnType btn_text btn_lightgray fill btn_28">삭제</button></td>
-								</tr>
-							</tbody>
-						</table>
-					</div>
-					<!-- //인증 휴대폰번호 관리 -->
-				</div>
-				<!-- //보안로그인 -->
-				<!-- //보안로그인 -->
-				<!-- //보안로그인 -->
-				<!-- //보안로그인 -->
-				<!-- //보안로그인 -->
-				<!-- //보안로그인 -->
 				
 				<div class="my_dashboard_cont3">
 					<p class="dashboard_title">이용내역</p>
src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
--- src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/mberSecureLogin.jsp
@@ -3,6 +3,7 @@
 <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
 
+
 <script language=javascript>
 
 
@@ -19,9 +20,13 @@
 	// on/off 시 confirm 창 노출
 	$('.security_set .tab_depth1 a').click(function () {
 		if ($(this).text().trim() == "ON") {
-			confirm("보안로그인 설정 후 로그인 시, 등록한 휴대폰번호로 추가 인증이 진행됩니다");
+			if(!confirm("보안로그인 설정 후 로그인 시, 등록한 휴대폰번호로 추가 인증이 진행됩니다")){
+				console.log('???');
+				return false;
+			}
 		} else {
 			confirm("가입자 휴대폰번호로 본인인증 후 해제가 가능하며, 보안로그인 설정을 해제함으로써 발생하는 손해에 대하여 회사는 책임지지 않습니다.");
+			openKMCISWindow();
 		}
 	});
 	
@@ -45,6 +50,11 @@
 				if(returnData.status == 'OK'){
 					alert(returnData.object.msg);
 					$("#certReqPhone").prop("disabled", true);
+				}
+				else if(returnData.status == 'CONFLICT')
+				{
+					alert(returnData.message);
+					return false;
 				}
 				else
 				{
@@ -178,10 +188,81 @@
 			error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
 		});
 	});
+
+
+	$(document).on('click', '.phoneModiBtn', function () {
+		// 현재 클릭된 버튼의 tr 요소를 가져옴
+		const $tr = $(this).closest('tr');
+
+		// 별칭과 메모 td 요소를 가져옴
+		const $aliasTd = $tr.find('td').eq(1); // 두 번째 컬럼(별칭)
+		const $memoTd = $tr.find('td').eq(2); // 세 번째 컬럼(메모)
+
+		// 기존 텍스트 값 저장
+		const aliasValue = $aliasTd.text().trim(); // 별칭 값
+		const memoValue = $memoTd.text().trim();  // 메모 값
+		
+		console.log('aliasValue : ', aliasValue);
+		console.log('memoValue : ', memoValue);
+
+		// td 내용을 input 필드로 변경
+		$aliasTd.html('<input type="text" class="input_text" maxlength="12" value="' + aliasValue + '">');
+		$memoTd.html('<input type="text" class="input_text" value="' + memoValue + '">');
+
+		// aliasTd 내의 input 필드에 포커스 설정
+		const $aliasInput = $aliasTd.find('.input_text');
+		$aliasInput.focus().val($aliasInput.val()); // 포커스 후 커서를 맨 끝으로 이동
+		
+		$(this).removeClass("phoneModiBtn").attr("onclick", "fn_phoneSave(this);").text("저장");
+	});
+
 	
 
 	findAllCertIp();
+	findAllCertPhone();
 });
+
+function fn_phoneSave(obj){
+	// 현재 클릭된 버튼의 tr 요소를 가져옴
+	const $tr = $(obj).closest('tr'); // 'this' 대신 전달된 'obj' 사용
+
+	// 각 td 요소에서 데이터를 추출
+	const mbtlnum = $tr.find('td').eq(0).text().trim(); // 첫 번째 컬럼(번호)
+	const certAlias = $tr.find('td').eq(1).find('input').val().trim(); // 두 번째 컬럼(별칭)
+	const certMemo = $tr.find('td').eq(2).find('input').val().trim(); // 세 번째 컬럼(메모)
+
+	// 콘솔 출력
+	console.log('mbtlnum : ', mbtlnum);
+	console.log('certAlias : ', certAlias);
+	console.log('certMemo : ', certMemo);
+	
+
+	var params = {
+		"mbtlnum" : mbtlnum
+		, "certAlias" : certAlias
+		, "certMemo" : certMemo
+	}
+
+	$.ajax({
+		type: "POST",
+		url: "/cert/phone/updateCertPhone.do",
+		data: params,
+		dataType:'json',
+		async: false,
+		success: function (returnData) {
+			if(returnData.status == 'OK'){
+				findAllCertPhone();
+			}
+			else
+			{
+				alert("오류가 발생하였습니다.");
+			}
+		},
+		error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
+	});
+	
+	
+}
 
 
 function regCertPhone(params){
@@ -194,7 +275,9 @@
 		async: false,
 		success: function (returnData) {
 			if(returnData.status == 'OK'){
-				findAllCertIp();
+				$('.tooltip-close').click()
+				alert(returnData.message);
+				findAllCertPhone();
 			}else if(returnData.status == 'CONFLICT'){
 				alert(returnData.message);
 				return false;
@@ -264,16 +347,17 @@
 	
 	$.ajax({
 		type: "POST",
-		url: "/cert/ip/selectMberCertIpList.do",
+		url: "/cert/phone/selectMberCertPhoneList.do",
 		data: null,
 		dataType:'json',
 		async: false,
 		success: function (returnData) {
+			console.log('returnData : ', returnData);
 			if (returnData.status === "OK") {
 				const objects = returnData.object; // 배열 데이터
 				
 				// tbody의 기존 내용 삭제
-				const $tbody = $("#ipTable tbody");
+				const $tbody = $("#phoneTable tbody");
 				$tbody.empty();
 
 				// 배열 데이터를 기반으로 tr 생성 후 tbody에 추가
@@ -281,23 +365,39 @@
 					const $tr = $("<tr></tr>"); // tr 요소 생성
 
 					// 각 td 요소 생성
-					const $certIp = $("<td></td>").text(obj.certIp || "");
-					const $certMemo = $("<td></td>").text(obj.certMemo || "");
+					const $mbtlnum = $("<td></td>").text(obj.mbtlnum || "");
+					const $certAlias = $("<td></td>").text(obj.certAlias || "-");
+					const $certMemo = $("<td></td>").text(obj.certMemo || "-");
 					const $frstRegistPnttm = $("<td></td>").text(obj.frstRegistPnttm || "등록되지 않음");
-					const $deleteBtn = $("<button></button>")
-						.addClass("btnType btn_text btn_lightgray fill btn_28")
-						.text("삭제")
-						.attr("type", "button")
-						.attr("id", "ipDelBtn")
-						.on("click", function() {
-							deleteRow(obj.certIp); // 삭제 버튼 클릭 시 실행
-						});
+					
 
+					const $buttonTd = $("<td></td>");
+
+					if (obj.frstRegistPnttm !== "-") {
+						const $modiBtn = $("<button></button>")
+							.addClass("btnType btnType5 btn_edit phoneModiBtn")
+							.text("수정")
+							.attr("type", "button")
+							.attr("style", "margin:0 5px 0 0;");
+	
+						
+						const $deleteBtn = $("<button></button>")
+							.addClass("btnType btn_text btn_lightgray fill btn_28")
+							.text("삭제")
+							.attr("type", "button")
+							.attr("id", "phoneDelBtn")
+							.on("click", function() {
+								fn_PDelRow(obj.mbtlnum); // 삭제 버튼 클릭 시 실행
+							});
+						$buttonTd.append($modiBtn, $deleteBtn);
+					}else{
+						// 등록일시가 없으면 빈 td로 유지
+						$buttonTd.text("-");
+					}
 					// 관리 버튼을 감쌀 td 생성
-					const $deleteTd = $("<td></td>").append($deleteBtn);
 
 					// tr에 td 추가
-					$tr.append($certIp, $certMemo, $frstRegistPnttm, $deleteTd);
+					$tr.append($mbtlnum, $certAlias, $certMemo, $frstRegistPnttm, $buttonTd);
 
 					// tbody에 tr 추가
 					$tbody.append($tr);
@@ -310,6 +410,33 @@
 	});
 }
 
+function fn_PDelRow(p_mbtlnum){
+	console.log('p_mbtlnum : ', p_mbtlnum);
+	var params = {
+		"mbtlnum" : p_mbtlnum
+	}
+	if(!confirm("인증 휴대폰번호를 삭제 하시겠습니까?")){
+		return false;
+	}
+	$.ajax({
+		type: "POST",
+		url: "/cert/phone/deleteCertPhone.do",
+		data: params,
+		dataType:'json',
+		async: false,
+		success: function (returnData) {
+			if(returnData.status == 'OK'){
+				findAllCertPhone();
+			}
+			else
+			{
+				alert("오류가 발생하였습니다.");
+			}
+		},
+		error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
+	}); 
+	
+}
 //IP 삭제
 function deleteRow(p_ip){
 
@@ -338,6 +465,44 @@
 		error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
 	}); 
 }
+
+
+
+
+
+
+//휴대푠 번호 등록 [시작]--------------------------------------------------------------------------------------------
+window.name = "kmcis_web_sample";
+var KMCIS_window;
+//휴대폰 인증팝업 열기
+function openKMCISWindow(){
+	var UserAgent = navigator.userAgent;
+	/* 모바일 접근 체크*/
+	// 모바일일 경우 (변동사항 있을경우 추가 필요)
+	if (UserAgent.match(/iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson/i) != null || UserAgent.match(/LG|SAMSUNG|Samsung/) != null) {
+		document.reqKMCISForm.target = 'KMCISWindow';  // 모바일
+	} else { // 모바일이 아닐 경우
+		KMCIS_window = window.open('', 'KMCISWindow', 'width=425, height=550, resizable=0, scrollbars=no, status=0, titlebar=0, toolbar=0, left=435, top=250' );
+	
+		if(KMCIS_window == null){
+			alert(" ※ 윈도우 XP SP2 또는 인터넷 익스플로러 7 사용자일 경우에는 \n    화면 상단에 있는 팝업 차단 알림줄을 클릭하여 팝업을 허용해 주시기 바랍니다. \n\n※ MSN,야후,구글 팝업 차단 툴바가 설치된 경우 팝업허용을 해주시기 바랍니다.");
+		}
+	
+		document.reqKMCISForm.target = 'KMCISWindow';
+	}
+	
+	document.reqKMCISForm.action = 'https://www.kmcert.com/kmcis/web/kmcisReq.jsp';
+	document.reqKMCISForm.submit();
+}
+
+///web/user/selectSecurityAuthn.do 리다이렉트 URL
+
+//자식창에서 호출
+function callTo() {
+	alert("호출입니다.");
+}
+
+//휴대푠 번호 등록 [끝]--------------------------------------------------------------------------------------------
 
 </script>
 
@@ -425,6 +590,7 @@
 									<p class="lately_date">최근 변경일시 : <span>2024-11-01 12:49</span></p>
 
 									<div class="tab_depth1">
+<!-- 										<a href="#none" class="on">ON</a> -->
 										<a href="#none" class="on">ON</a>
 										<a href="#none">OFF</a>
 									</div>
@@ -433,23 +599,23 @@
 							<!-- //보안로그인 설정(허용 IP 아닌 경우) -->
 
 							<!-- 보안로그인 설정(허용 IP인 경우) -->
-							<div class="security_set box">
-								<div class="title_wrap">
-									<p class="dashboard_title">보안로그인</p>
-									<div class="title_box ip_add_wrap">
-										<span>현재 접속중인 IP : <b>000.000.000.00 [허용 IP]</b></span>
-									</div>
-								</div>
+<!-- 							<div class="security_set box"> -->
+<!-- 								<div class="title_wrap"> -->
+<!-- 									<p class="dashboard_title">보안로그인</p> -->
+<!-- 									<div class="title_box ip_add_wrap"> -->
+<!-- 										<span>현재 접속중인 IP : <b>000.000.000.00 [허용 IP]</b></span> -->
+<!-- 									</div> -->
+<!-- 								</div> -->
 
-								<div class="set_area">
-									<p class="lately_date">최근 변경일시 : <span>2024-11-01 12:49</span></p>
+<!-- 								<div class="set_area"> -->
+<!-- 									<p class="lately_date">최근 변경일시 : <span>2024-11-01 12:49</span></p> -->
 
-									<div class="tab_depth1">
-										<a href="#none" class="on">ON</a>
-										<a href="#none">OFF</a>
-									</div>
-								</div>
-							</div>
+<!-- 									<div class="tab_depth1"> -->
+<!-- 										<a href="#none" class="on">ON</a> -->
+<!-- 										<a href="#none">OFF</a> -->
+<!-- 									</div> -->
+<!-- 								</div> -->
+<!-- 							</div> -->
 							<!-- //보안로그인 설정(허용 IP인 경우) -->
 
 							<!-- 인증 휴대폰번호 관리 -->
@@ -463,13 +629,13 @@
 								<button type="button" data-tooltip="popup05" class="btn_plus"><img src="/publish/images/content/mypage_plus.png" alt="더보기"></button>
 							</div>
 
-							<div class="table_wrap">
+							<div class="table_wrap" id="phoneTable">
 								<table>
 									<colgroup>
-										<col style="width: 26%;">
+										<col style="width: 140px;">
 										<col style="width: auto;">
 										<col style="width: auto;">
-										<col style="width: 26%;">
+										<col style="width: 160px;">
 										<col style="width: 140px;">
 									</colgroup>
 									<thead>
@@ -544,7 +710,7 @@
 
 							<!-- 로그인 내역 -->
 							<div class="title_area">
-								<p class="dashboard_title">로그인 내역 <span class="small_text">로그인 내역은 최대 90일까지만 보관됩니다.</span></p>
+								<p class="dashboard_title">로그인 내역 <span class="small_text">로그인 내역은 최대 3개월까지만 보관됩니다.</span></p>
 							</div>
 
 							<div class="table_wrap">
Add a comment
List