IP 인증 패키지
This commit is contained in:
parent
ed11fae311
commit
78475e2b45
34
src/main/java/itn/let/cert/ip/service/CertIpService.java
Normal file
34
src/main/java/itn/let/cert/ip/service/CertIpService.java
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
package itn.let.cert.ip.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import itn.let.lett.service.LetterVO;
|
||||||
|
import itn.let.mail.service.StatusResponse;
|
||||||
|
import itn.let.mjo.addr.service.AddrVO;
|
||||||
|
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||||
|
import itn.let.sym.site.service.JoinSettingVO;
|
||||||
|
import itn.let.uat.uia.service.MberCertPhoneVO;
|
||||||
|
import itn.let.uat.uia.web.SendLogVO;
|
||||||
|
import itn.let.uss.umt.service.MberManageVO;
|
||||||
|
|
||||||
|
public interface CertIpService {
|
||||||
|
|
||||||
|
// public List<MberCertPhoneVO> selectMberCertPhoneList(String userId);
|
||||||
|
//
|
||||||
|
// public StatusResponse insertMberCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
|
||||||
|
//
|
||||||
|
// public StatusResponse deleteCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
|
||||||
|
//
|
||||||
|
// public List<MberCertPhoneVO> selectMberCertPhoneListVO(MberCertPhoneVO mberCertPhoneVO);
|
||||||
|
//
|
||||||
|
// public StatusResponse findByCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
|
||||||
|
//
|
||||||
|
// public StatusResponse updateMberCertPhoneInfo(MberCertPhoneVO mberCertPhoneVO);
|
||||||
|
|
||||||
|
public StatusResponse selectMberCertIpList(MberCertIpVO mberCertPhoneVO);
|
||||||
|
|
||||||
|
public StatusResponse insertCertIp(MberCertIpVO mberCertIpVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
71
src/main/java/itn/let/cert/ip/service/MberCertIpVO.java
Normal file
71
src/main/java/itn/let/cert/ip/service/MberCertIpVO.java
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
package itn.let.cert.ip.service;
|
||||||
|
|
||||||
|
import itn.let.uss.umt.service.UserDefaultVO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author : 이호영
|
||||||
|
* @fileName : MberCertPhoneVO.java
|
||||||
|
* @date : 2024.11.18
|
||||||
|
* @description : 발신번호 lettngnrlmber_cert_ip 관련 vo
|
||||||
|
* ===========================================================
|
||||||
|
* DATE AUTHOR NOTE
|
||||||
|
* ----------------------------------------------------------- *
|
||||||
|
* 2024.11.18 이호영 최초 생성
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class MberCertIpVO extends UserDefaultVO{
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description :
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
|
||||||
|
private String mberId;
|
||||||
|
private String certIp;
|
||||||
|
private String certMemo;
|
||||||
|
private String certUseYn;
|
||||||
|
private String certMbtlnum;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getMberId() {
|
||||||
|
return mberId;
|
||||||
|
}
|
||||||
|
public void setMberId(String mberId) {
|
||||||
|
this.mberId = mberId;
|
||||||
|
}
|
||||||
|
public String getCertIp() {
|
||||||
|
return certIp;
|
||||||
|
}
|
||||||
|
public void setCertIp(String certIp) {
|
||||||
|
this.certIp = certIp;
|
||||||
|
}
|
||||||
|
public String getCertMemo() {
|
||||||
|
return certMemo;
|
||||||
|
}
|
||||||
|
public void setCertMemo(String certMemo) {
|
||||||
|
this.certMemo = certMemo;
|
||||||
|
}
|
||||||
|
public String getCertUseYn() {
|
||||||
|
return certUseYn;
|
||||||
|
}
|
||||||
|
public void setCertUseYn(String certUseYn) {
|
||||||
|
this.certUseYn = certUseYn;
|
||||||
|
}
|
||||||
|
public String getCertMbtlnum() {
|
||||||
|
return certMbtlnum;
|
||||||
|
}
|
||||||
|
public void setCertMbtlnum(String certMbtlnum) {
|
||||||
|
this.certMbtlnum = certMbtlnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
32
src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java
Normal file
32
src/main/java/itn/let/cert/ip/service/impl/CertIpDAO.java
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
package itn.let.cert.ip.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||||
|
import itn.let.cert.ip.service.MberCertIpVO;
|
||||||
|
import itn.let.lett.service.LetterVO;
|
||||||
|
import itn.let.mail.service.StatusResponse;
|
||||||
|
import itn.let.mjo.addr.service.AddrVO;
|
||||||
|
import itn.let.mjo.msg.service.MjonMsgVO;
|
||||||
|
import itn.let.mjo.msgdata.service.MjonMsgDataVO;
|
||||||
|
import itn.let.sym.site.service.JoinSettingVO;
|
||||||
|
import itn.let.uat.uia.service.MberCertPhoneVO;
|
||||||
|
import itn.let.uat.uia.web.SendLogVO;
|
||||||
|
import itn.let.uss.umt.service.MberManageVO;
|
||||||
|
|
||||||
|
@Repository("CertIpDAO")
|
||||||
|
public class CertIpDAO extends EgovAbstractDAO {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public List<MberCertIpVO> selectMberCertIpList(MberCertIpVO mberCertPhoneVO) {
|
||||||
|
return (List<MberCertIpVO>) list("MberCertIpVO.selectMberCertIpList", mberCertPhoneVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertCertIp(MberCertIpVO mberCertIpVO) {
|
||||||
|
insert("MberCertIpVO.insertCertIp", mberCertIpVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,36 @@
|
|||||||
|
package itn.let.cert.ip.service.impl;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||||
|
import itn.let.cert.ip.service.CertIpService;
|
||||||
|
import itn.let.cert.ip.service.MberCertIpVO;
|
||||||
|
import itn.let.mail.service.StatusResponse;
|
||||||
|
|
||||||
|
@Service("CertIpService")
|
||||||
|
public class CertIpServiceImpl extends EgovAbstractServiceImpl implements CertIpService {
|
||||||
|
|
||||||
|
@Resource(name = "CertIpDAO")
|
||||||
|
private CertIpDAO certIpDAO;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StatusResponse selectMberCertIpList(MberCertIpVO mberCertPhoneVO) {
|
||||||
|
List<MberCertIpVO> mberCertIpListVO = certIpDAO.selectMberCertIpList(mberCertPhoneVO);
|
||||||
|
return new StatusResponse(HttpStatus.OK, mberCertIpListVO, LocalDateTime.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StatusResponse insertCertIp(MberCertIpVO mberCertIpVO) {
|
||||||
|
certIpDAO.insertCertIp(mberCertIpVO);
|
||||||
|
return new StatusResponse(HttpStatus.OK, "등록 하였습니다.", LocalDateTime.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
140
src/main/java/itn/let/cert/ip/web/CertIpController.java
Normal file
140
src/main/java/itn/let/cert/ip/web/CertIpController.java
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
package itn.let.cert.ip.web;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||||
|
import itn.com.cmm.LoginVO;
|
||||||
|
import itn.com.utl.fcc.service.EgovStringUtil;
|
||||||
|
import itn.let.cert.ip.service.CertIpService;
|
||||||
|
import itn.let.cert.ip.service.MberCertIpVO;
|
||||||
|
import itn.let.mail.service.StatusResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author : 이호영
|
||||||
|
* @fileName : CertIpController.java
|
||||||
|
* @date : 2024.11.19
|
||||||
|
* @description : 허용 IP 관련 컨트롤러
|
||||||
|
* ===========================================================
|
||||||
|
* DATE AUTHOR NOTE
|
||||||
|
* ----------------------------------------------------------- *
|
||||||
|
* 2024.11.19 이호영 최초 생성
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
public class CertIpController {
|
||||||
|
|
||||||
|
|
||||||
|
/* certIpService */
|
||||||
|
@Resource(name = "CertIpService")
|
||||||
|
private CertIpService certIpService;
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = {"/cert/ip/selectMberCertIpList.do"})
|
||||||
|
public ResponseEntity<StatusResponse> selectMberCertIpList(MberCertIpVO mberCertPhoneVO) throws Exception {
|
||||||
|
|
||||||
|
System.out.println("????????????????????????????");
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
if(userId == null) {
|
||||||
|
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
mberCertPhoneVO.setMberId(userId);
|
||||||
|
return ResponseEntity.ok().body(certIpService.selectMberCertIpList(mberCertPhoneVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping(value = {"/cert/ip/insertCertIp.do"})
|
||||||
|
public ResponseEntity<StatusResponse> insertCertIp(MberCertIpVO mberCertIpVO) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
if(userId == null) {
|
||||||
|
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
mberCertIpVO.setFrstRegisterId(userId);
|
||||||
|
mberCertIpVO.setMberId(userId);
|
||||||
|
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(certIpService.insertCertIp(mberCertIpVO));
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
|
||||||
|
@RequestMapping(value = {"/cert/ip/findByCertIp.do"})
|
||||||
|
public ResponseEntity<StatusResponse> findByCertIp(MberCertIpVO mberCertPhoneVO) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
if(userId == null) {
|
||||||
|
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
return ResponseEntity.ok().body(certIpService.findByCertPhoneInfo(mberCertPhoneVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = {"/uss/umt/user/updateCertPhone.do"})
|
||||||
|
public ResponseEntity<StatusResponse> updateCertPhone(MberCertPhoneVO mberCertPhoneVO) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
if(userId == null) {
|
||||||
|
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
mberCertPhoneVO.setFrstRegisterId(userId);
|
||||||
|
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(certIpService.updateMberCertPhoneInfo(mberCertPhoneVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = {"/uss/umt/user/deleteCertPhone.do"})
|
||||||
|
public ResponseEntity<StatusResponse> deleteCertPhone(MberCertPhoneVO mberCertPhoneVO) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 권한정보 불러오기
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
|
||||||
|
if(userId == null) {
|
||||||
|
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
|
||||||
|
}
|
||||||
|
mberCertPhoneVO.setLastUpdusrId(userId);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return ResponseEntity.ok().body(certIpService.deleteCertPhoneInfo(mberCertPhoneVO));
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
|
||||||
|
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
|
||||||
|
|
||||||
|
<sqlMapConfig>
|
||||||
|
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
|
||||||
|
<sqlMap resource="egovframework/sqlmap/let/cert/MjonCertIp_SQL_mysql.xml"/> <!-- 문자메세지 -->
|
||||||
|
</sqlMapConfig>
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?><!--
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
========= ======= =================================================
|
||||||
|
2021.03.01 신명섭
|
||||||
|
-->
|
||||||
|
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
|
||||||
|
<sqlMap namespace="MjonCert">
|
||||||
|
<typeAlias alias="mberCertIpVO" type="itn.let.cert.ip.service.MberCertIpVO"/>
|
||||||
|
|
||||||
|
<select id="MberCertIpVO.selectMberCertIpList" parameterClass="mberCertIpVO" resultClass="mberCertIpVO">
|
||||||
|
SELECT
|
||||||
|
MBER_ID as mberId
|
||||||
|
, CERT_IP as certIp
|
||||||
|
, CERT_MEMO as certMemo
|
||||||
|
, CERT_USE_YN as certUseYn
|
||||||
|
, FRST_REGIST_PNTTM as frstRegistPnttm
|
||||||
|
, FRST_REGISTER_ID as frstRegisterId
|
||||||
|
, LAST_UPDT_PNTTM as lastUpdtPnttm
|
||||||
|
, LAST_UPDUSR_ID as lastUpdusrId
|
||||||
|
FROM
|
||||||
|
LETTNGNRLMBER_CERT_IP
|
||||||
|
where
|
||||||
|
MBER_ID = #mberId#
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<insert id="MberCertIpVO.insertCertIp">
|
||||||
|
|
||||||
|
INSERT INTO LETTNGNRLMBER_CERT_IP
|
||||||
|
(
|
||||||
|
MBER_ID
|
||||||
|
, CERT_IP
|
||||||
|
, CERT_MEMO
|
||||||
|
, LAST_UPDT_PNTTM
|
||||||
|
, FRST_REGISTER_ID
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
(
|
||||||
|
#mberId#
|
||||||
|
, #certIp#
|
||||||
|
, #certMemo#
|
||||||
|
, now()
|
||||||
|
, #frstRegisterId#
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</sqlMap>
|
||||||
@ -28,7 +28,7 @@
|
|||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<isNotEmpty property="searchKeyword">
|
<isNotEmpty property="searchKeyword">
|
||||||
<isEqual property="searchCondition" compareValue="" >
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
AND ( A.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
AND ( A.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')MjonMsgCustom_SQL_mysql.xmlMjonMsgCustom_SQL_mysql.xmlMjonMsgCustom_SQL_mysql.xmlMjonMsgCustom_SQL_mysql.xml
|
||||||
OR CUSTOM_PHONE_NO LIKE CONCAT ('%', #searchKeyword#,'%') )
|
OR CUSTOM_PHONE_NO LIKE CONCAT ('%', #searchKeyword#,'%') )
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="searchCondition" compareValue="1">
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
|||||||
@ -51,9 +51,6 @@ $(document).ready(function(){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('#showLoginBtn').on('click', function() {
|
|
||||||
$('.security_login').fadeIn(); // 서서히 나타나도록 설정
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
@ -64,17 +61,148 @@ $(document).ready(function(){
|
|||||||
|
|
||||||
$('#showLoginBtn').on('click', function() {
|
$('#showLoginBtn').on('click', function() {
|
||||||
if ($('#securityLogin').is(':visible')) {
|
if ($('#securityLogin').is(':visible')) {
|
||||||
$('#securityLogin').fadeOut(); // 서서히 사라짐
|
$('#securityLogin').hide();
|
||||||
$(this).text('보안 로그인 표시'); // 버튼 텍스트 변경
|
|
||||||
} else {
|
} else {
|
||||||
$('#securityLogin').fadeIn(); // 서서히 나타남
|
$('#securityLogin').show();
|
||||||
$(this).text('보안 로그인 숨기기'); // 버튼 텍스트 변경
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// IP 추가 버튼 클릭 시 tr 추가
|
||||||
|
$(".btn_ip_plus").click(function () {
|
||||||
|
// 추가할 HTML 구조
|
||||||
|
const ipTr = `
|
||||||
|
<tr class="ip-new">
|
||||||
|
<td><input type="text" class="input_text"></td>
|
||||||
|
<td><input type="text" class="input_text"></td>
|
||||||
|
<td>-</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btnType btnType5" id="ipRegBtn">등록</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
|
||||||
|
// 이미 추가된 `.ip-row`가 있는지 확인
|
||||||
|
if ($(".ip_table tbody .ip-new").length === 0) {
|
||||||
|
$(".ip_table tbody").prepend(ipTr); // 중복되지 않으면 추가
|
||||||
|
} else {
|
||||||
|
alert("이미 추가된 항목이 있습니다.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$(document).on('click', '#ipRegBtn', function () {
|
||||||
|
// 현재 클릭된 버튼의 부모 tr 요소
|
||||||
|
const $currentRow = $(this).closest('tr');
|
||||||
|
|
||||||
|
// 입력값 가져오기
|
||||||
|
const ipValue = $currentRow.find('td:eq(0) input').val(); // 첫 번째 열 (IP)
|
||||||
|
const memoValue = $currentRow.find('td:eq(1) input').val(); // 두 번째 열 (메모)
|
||||||
|
|
||||||
|
// 예외 처리
|
||||||
|
if (!ipValue) {
|
||||||
|
alert("등록할 IP를 입력해주세요.");
|
||||||
|
$currentRow.find('td:eq(0) input').focus();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 추가 동작 (예: 서버 전송)
|
||||||
|
// alert(`입력된 IP: ${ipValue}, 메모: ${memoValue}`);
|
||||||
|
|
||||||
|
|
||||||
|
var params = {
|
||||||
|
"certIp" : ipValue
|
||||||
|
, "certMemo" : memoValue
|
||||||
|
}
|
||||||
|
console.log('params : ', params);
|
||||||
|
|
||||||
|
if(!confirm("IP를 등록 하시겠습니까?")){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/cert/ip/insertCertIp.do",
|
||||||
|
data: params,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (returnData) {
|
||||||
|
if(returnData.status == 'OK'){
|
||||||
|
const objects = returnData.object; // 배열 데이터
|
||||||
|
let rows = ""; // 추가할 행들
|
||||||
|
|
||||||
|
// 배열 데이터를 순회하며 각 행 생성
|
||||||
|
objects.forEach((obj) => {
|
||||||
|
rows += `
|
||||||
|
<tr>
|
||||||
|
<td>${obj.certIp || "-"}</td>
|
||||||
|
<td>${obj.certMemo || "-"}</td>
|
||||||
|
<td>${obj.lastUpdtPnttm || "-"}</td>
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btnType btn_text btn_lightgray fill btn_28">삭제</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 기존 tbody 비우고 새 행 추가
|
||||||
|
$(".ip_table tbody").html(rows);
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
alert("오류가 발생하였습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
findAllCertIp();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
function findAllCertIp(){
|
||||||
|
|
||||||
|
console.log('findAllCertIp : ', findAllCertIp);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/cert/ip/selectMberCertIpList.do",
|
||||||
|
data: null,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (returnData) {
|
||||||
|
if (returnData.status === "OK") {
|
||||||
|
const objects = returnData.object; // 배열 데이터
|
||||||
|
let rows = ""; // 추가할 행들
|
||||||
|
objects.forEach((obj) => {
|
||||||
|
rows += `
|
||||||
|
<tr>
|
||||||
|
<td>${obj.certIp || "-"}</td> <!-- 허용 IP -->
|
||||||
|
<td>${obj.certMemo || "-"}</td> <!-- 메모 -->
|
||||||
|
<td>${obj.lastUpdtPnttm || "-"}</td> <!-- 등록일시 -->
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btnType btn_text btn_lightgray fill btn_28" onclick="deleteRow(this)">삭제</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
});
|
||||||
|
|
||||||
|
// 생성된 rows를 tbody에 삽입
|
||||||
|
$(".ip_table tbody").html(rows);
|
||||||
|
} else {
|
||||||
|
alert("데이터를 불러오는 데 실패했습니다.");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("오류가 발생하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//기간 요일 지정
|
//기간 요일 지정
|
||||||
function setCalVal(val,targetObj){
|
function setCalVal(val,targetObj){
|
||||||
$('input[name='+targetObj+']').val(val) ;
|
$('input[name='+targetObj+']').val(val) ;
|
||||||
@ -511,8 +639,8 @@ function getMberGrdChk() {
|
|||||||
<!-- 보안로그인 -->
|
<!-- 보안로그인 -->
|
||||||
<!-- 보안로그인 -->
|
<!-- 보안로그인 -->
|
||||||
<!-- 보안로그인 -->
|
<!-- 보안로그인 -->
|
||||||
<!-- <div class="security_login" id="showLoginBtn" style="display: none;"> -->
|
<!-- <div class="security_login" id="securityLogin" style="display: none;"> -->
|
||||||
<div class="security_login" id="securityLogin" style="display: none;">
|
<div class="security_login" id="securityLogin">
|
||||||
|
|
||||||
<ul class="explanation_wrap box info">
|
<ul class="explanation_wrap box info">
|
||||||
<li>· 사이트 부정로그인으로 인한 피해를 방지할 수 있는 2차 로그인 인증 서비스입니다. </li>
|
<li>· 사이트 부정로그인으로 인한 피해를 방지할 수 있는 2차 로그인 인증 서비스입니다. </li>
|
||||||
@ -564,12 +692,6 @@ function getMberGrdChk() {
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
|
||||||
<td><input type="text" class="input_text"></td>
|
|
||||||
<td><input type="text" class="input_text"></td>
|
|
||||||
<td>-</td>
|
|
||||||
<td><button type="button" class="btnType btnType5">등록</button></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>192.168.0.0</td>
|
<td>192.168.0.0</td>
|
||||||
<td>dadfadfjadkfjalkdjfajflajdlfjaldjflajd</td>
|
<td>dadfadfjadkfjalkdjfajflajdlfjaldjflajd</td>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user