마이페이지 > 보안로그인 : 인증번호 등록 완료
This commit is contained in:
parent
2cd528196e
commit
2e7852a002
@ -7,6 +7,7 @@ import itn.let.uat.uia.web.SendLogVO;
|
||||
|
||||
public interface CertPhoneService {
|
||||
|
||||
|
||||
// public List<MberCertPhoneVO> selectMberCertPhoneList(String userId);
|
||||
//
|
||||
// public StatusResponse insertMberCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
|
||||
@ -21,11 +22,13 @@ public interface CertPhoneService {
|
||||
|
||||
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 @@ public interface CertPhoneService {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -28,10 +28,10 @@ public class CertPhoneServiceImpl extends EgovAbstractServiceImpl implements Cer
|
||||
|
||||
|
||||
@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());
|
||||
@ -59,6 +59,14 @@ public class CertPhoneServiceImpl extends EgovAbstractServiceImpl implements Cer
|
||||
}
|
||||
|
||||
|
||||
@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);
|
||||
@ -79,7 +87,7 @@ public class CertPhoneServiceImpl extends EgovAbstractServiceImpl implements Cer
|
||||
|
||||
return new StatusResponse(HttpStatus.OK, "", LocalDateTime.now());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -65,8 +65,8 @@ public class CertPhoneController {
|
||||
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 @@ public class CertPhoneController {
|
||||
}
|
||||
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 @@ public class CertPhoneController {
|
||||
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 @@ public class CertPhoneController {
|
||||
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||
}
|
||||
mberCertPhoneVO.setLastUpdusrId(userId);
|
||||
mberCertPhoneVO.setMberId(userId);
|
||||
|
||||
|
||||
|
||||
@ -160,15 +162,16 @@ public class CertPhoneController {
|
||||
}
|
||||
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();
|
||||
|
||||
|
||||
@ -450,25 +450,6 @@ public class EgovMypageController {
|
||||
}
|
||||
|
||||
|
||||
{
|
||||
/**
|
||||
* 보안인증 본인인증 기능추가
|
||||
* 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 @@ public class EgovMypageController {
|
||||
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";
|
||||
|
||||
@ -476,10 +476,9 @@ function callTo() {
|
||||
<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 @@ function callTo() {
|
||||
</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>
|
||||
|
||||
@ -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 @@ $(document).ready(function(){
|
||||
// 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();
|
||||
}
|
||||
});
|
||||
|
||||
@ -46,6 +51,11 @@ $(document).ready(function(){
|
||||
alert(returnData.object.msg);
|
||||
$("#certReqPhone").prop("disabled", true);
|
||||
}
|
||||
else if(returnData.status == 'CONFLICT')
|
||||
{
|
||||
alert(returnData.message);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("오류가 발생하였습니다.");
|
||||
@ -178,11 +188,82 @@ $(document).ready(function(){
|
||||
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 @@ function regCertPhone(params){
|
||||
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 @@ function findAllCertPhone(){
|
||||
|
||||
$.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 @@ function findAllCertPhone(){
|
||||
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 findAllCertPhone(){
|
||||
});
|
||||
}
|
||||
|
||||
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){
|
||||
|
||||
@ -339,6 +466,44 @@ function deleteRow(p_ip){
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//휴대푠 번호 등록 [시작]--------------------------------------------------------------------------------------------
|
||||
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>
|
||||
|
||||
<div class="mask"></div>
|
||||
@ -425,6 +590,7 @@ function deleteRow(p_ip){
|
||||
<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 @@ function deleteRow(p_ip){
|
||||
<!-- //보안로그인 설정(허용 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 @@ function deleteRow(p_ip){
|
||||
<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 @@ function deleteRow(p_ip){
|
||||
|
||||
<!-- 로그인 내역 -->
|
||||
<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">
|
||||
|
||||
Loading…
Reference in New Issue
Block a user