From d1b40ffd978d207b4ea549e9ac9bdcdbffab534e Mon Sep 17 00:00:00 2001 From: nhj Date: Thu, 12 Mar 2026 19:45:48 +0900 Subject: [PATCH] =?UTF-8?q?kic,=20=ED=82=A8=ED=85=8D=EC=8A=A4=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=9A=94=EA=B5=AC=EC=82=AC=ED=95=AD=20=EB=B0=98?= =?UTF-8?q?=EC=98=81(url=20=EB=B3=B4=EC=95=88=EC=B2=B4=ED=81=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80,=20=EC=8A=B9=EC=9D=B8=EB=8C=80=EC=83=81?= =?UTF-8?q?=EC=9E=90=EB=A3=8C=EB=A7=8C=20=EC=A1=B0=EA=B1=B4=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20....)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ItsmMenuAuthCheckFrontInterceptor.java | 126 ++++++++++++++++++ .../urpsys/basefront/config/WebConfig.java | 13 +- .../basefront/controller/MainController.java | 21 ++- .../controller/UrpErrorController.java | 10 ++ .../controller/ResourceManagerController.java | 4 +- .../itmsfront/rem/domain/ResourceManage.java | 17 +++ .../srm/controller/SvcDeskController.java | 1 - .../srm/controller/SvcDeskReqController.java | 2 +- .../srm/domain/ReportCheckListVo.java | 19 ++- .../srm/domain/ReportErrorListVo.java | 19 ++- .../srm/domain/ReportIssueListVo.java | 19 ++- .../srm/domain/ReportOtherListVo.java | 21 ++- .../itmsfront/srm/domain/SvcDeskListVo.java | 7 + src/main/resources/application-hpnote.yml | 2 + .../resources/application-infra_server.yml | 4 +- src/main/resources/application-keiti_prod.yml | 2 + src/main/resources/application-kic_dev.yml | 2 + src/main/resources/application-kic_rel.yml | 2 + .../resources/application-kintex_prod.yml | 2 + src/main/resources/application-local.yml | 4 +- src/main/resources/application-nowon.yml | 2 + src/main/resources/application-vmware.yml | 2 + src/main/resources/application-yp21.yml | 4 +- .../WEB-INF/jsp/itms/error/errorNoAuth.jsp | 73 ++++++++++ .../WEB-INF/jsp/itms/rem/ResourceDetail.jsp | 2 +- .../WEB-INF/jsp/itms/rem/ResourceInsert.jsp | 8 +- .../WEB-INF/jsp/itms/rem/ResourceList.jsp | 12 +- .../jsp/itms/srm/ReportCheckDetail.jsp | 11 +- .../WEB-INF/jsp/itms/srm/ReportCheckList.jsp | 40 +++++- .../jsp/itms/srm/ReportErrorDetail.jsp | 1 + .../WEB-INF/jsp/itms/srm/ReportErrorList.jsp | 35 ++++- .../jsp/itms/srm/ReportIssueDetail.jsp | 1 + .../WEB-INF/jsp/itms/srm/ReportIssueList.jsp | 33 +++++ .../jsp/itms/srm/ReportOtherDetail.jsp | 11 +- .../WEB-INF/jsp/itms/srm/ReportOtherList.jsp | 39 +++++- .../jsp/itms/srm/SvcDeskCopyInsert.jsp | 1 + .../WEB-INF/jsp/itms/srm/SvcDeskDetail.jsp | 1 + .../WEB-INF/jsp/itms/srm/SvcDeskInsert.jsp | 2 + .../WEB-INF/jsp/itms/srm/SvcDeskList.jsp | 28 +++- 39 files changed, 537 insertions(+), 66 deletions(-) create mode 100644 src/main/java/com/urpsys/basefront/config/ItsmMenuAuthCheckFrontInterceptor.java create mode 100644 src/main/webapp/WEB-INF/jsp/itms/error/errorNoAuth.jsp diff --git a/src/main/java/com/urpsys/basefront/config/ItsmMenuAuthCheckFrontInterceptor.java b/src/main/java/com/urpsys/basefront/config/ItsmMenuAuthCheckFrontInterceptor.java new file mode 100644 index 00000000..f07111f4 --- /dev/null +++ b/src/main/java/com/urpsys/basefront/config/ItsmMenuAuthCheckFrontInterceptor.java @@ -0,0 +1,126 @@ +package com.urpsys.basefront.config; + +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.web.servlet.ModelAndView; + +import lombok.extern.slf4j.Slf4j; + +/** + * Controller Menu Auth Check interceptor 클리스 + * + * @author urp 인프라본부 나혁제 + * @since 2026.03.11 + * @version 1.0.0 + * @see + * + *
+ *
+ * << 개정이력(Modification information) >>
+ *
+ *   수정일        수정자         수정내용
+ * -----------  ---------    ------------------------
+ * 2026.06.11    나혁제         최초작성
+ *
+ * 
+ */ + +@Slf4j +@Component +public class ItsmMenuAuthCheckFrontInterceptor implements HandlerInterceptor +{ + // 컨트롤러가 호출되기 전 + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception + { + + log.info(" >>>>>>>>>> preHandle <<<<<<<<<< "); + log.info("getRequestURI [{}]", request.getRequestURI() ); + + String strCurUrl = (String)request.getRequestURI(); + String strTaskUrl = ""; // menu url + + List> list_menulist = (List>)request.getSession().getAttribute("list_menulist"); + List> listMeunUrl = (List>)request.getSession().getAttribute("listMeunUrl"); + + // 화면처리 권한 리스트가 없는경우 권한체크 하지 않음 + if(listMeunUrl == null || listMeunUrl.size() == 0) + { + log.info(" 보안체크 URL 이 없음 "); + return true; + } + + boolean bUrlCheckYn = false; + for(Map checkUrlMap : listMeunUrl) + { + String strCheckUrl = (String)checkUrlMap.get("dtlsTaskUrl"); + + // 보안대상 url + if(strCheckUrl.indexOf(strCurUrl) > -1) + { + strTaskUrl = (String)checkUrlMap.get("taskUrl"); + log.info(" 메뉴 URL strTaskUrl [{}] ", strTaskUrl); + bUrlCheckYn = true; + break; + } + } + + // 보안대상 url 인경우 세션에서 url 체크 + if(bUrlCheckYn) + { + boolean bMenuAuth = false; + for(Map menuMap : list_menulist) + { + String strAuthUrl = (String)menuMap.get("chkURL"); + + // 메뉴권한 있음 + if(strAuthUrl.indexOf(strTaskUrl)>-1) + { + bMenuAuth=true; + break; + } + } + + // 메뉴권한 없음 + if(!bMenuAuth) + { + response.sendRedirect("/error-page/errorNoAuth.do"); + } + } + + log.info(" <<<<<<<<<< preHandle >>>>>>>>>> "); + + return true; + } + + // controller의 handler가 끝나면 처리됨 + @Override + public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, + ModelAndView modelAndView) throws Exception + { + /* + log.info(" >>>>>>>>>> postHandle <<<<<<<<<< "); + log.info(" <<<<<<<<<< postHandle >>>>>>>>>> "); + */ + + } + + // 컨트롤러가 처리 완료후 + @Override + public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) + throws Exception + { + /* + log.info(" >>>>>>>>>> afterCompletion <<<<<<<<<< "); + log.info(" <<<<<<<<<< afterCompletion >>>>>>>>>> "); + */ + + } + +} diff --git a/src/main/java/com/urpsys/basefront/config/WebConfig.java b/src/main/java/com/urpsys/basefront/config/WebConfig.java index 81e9d673..d4d27838 100644 --- a/src/main/java/com/urpsys/basefront/config/WebConfig.java +++ b/src/main/java/com/urpsys/basefront/config/WebConfig.java @@ -29,12 +29,15 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebConfig implements WebMvcConfigurer { - /* - * 모든 controller Interceptor 설정 - * */ + // 모든 controller Interceptor 설정(메뉴ID 설정) @Autowired UrpPortalFrontInterceptor urpPortalFrontInterceptor; + // 모든 controller Interceptor 설정(화면권한 체크) + @Autowired + ItsmMenuAuthCheckFrontInterceptor itsmMenuAuthCheckFrontInterceptor; + + /* @Value("${custom.path.phy_sitemap}") private String resourcesLocation; // 사이트맵 물리적주소 @@ -70,6 +73,10 @@ public class WebConfig implements WebMvcConfigurer public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(urpPortalFrontInterceptor).addPathPatterns("/**/*.do"); + registry.addInterceptor(itsmMenuAuthCheckFrontInterceptor).addPathPatterns("/srm/*.do"); + registry.addInterceptor(itsmMenuAuthCheckFrontInterceptor).addPathPatterns("/bbs/*.do"); + registry.addInterceptor(itsmMenuAuthCheckFrontInterceptor).addPathPatterns("/rem/*.do"); + registry.addInterceptor(itsmMenuAuthCheckFrontInterceptor).addPathPatterns("/sys/*.do"); } diff --git a/src/main/java/com/urpsys/basefront/controller/MainController.java b/src/main/java/com/urpsys/basefront/controller/MainController.java index fe06d02f..d8cf689b 100644 --- a/src/main/java/com/urpsys/basefront/controller/MainController.java +++ b/src/main/java/com/urpsys/basefront/controller/MainController.java @@ -92,6 +92,9 @@ public class MainController @Value("${custom.client}") private String strClient; // 납품고객 + @Value("${custom.urlAuthCheck}") + private String strUrlAuthCheck; // 2026.03.12 나혁제 url 보안체크 여부 + @RequestMapping(value={ "/", "/main/actionMain.do"}) public String actionMain(HttpServletRequest request , HttpServletResponse response @@ -360,7 +363,9 @@ public class MainController headers.put("Authorization", tokenInfo.getToken_type()+" "+tokenInfo.getAccess_token()); - Map body = new HashMap<>(); + // 2026.03.12 나혁제 형 변경 + // Map body = new HashMap<>(); + Map body = new HashMap<>(); String strApiUrl = strApiServer+"/main/EgovHeader.do"; @@ -379,6 +384,20 @@ public class MainController list_headmenu = (List>)returnMap.get("list_headmenu"); list_menulist = (List>)returnMap.get("list_menulist"); + + // 2026.03.12 나혁제 메뉴url 맵핑 정보 가져오기 + if(strUrlAuthCheck.equals("Y")) + { + // RestApi Call Start --------------------------------- + returnMap = restApiCallUtil.RestApiCall(body, "/main/selectMenuScrnAuth.do"); + // RestApi Call End --------------------------------- + + List> listMeunUrl = (List>) returnMap.get("listMeunUrl"); + + log.info("listMeunUrl size [{}] =>" , listMeunUrl.size()); + + request.getSession().setAttribute("listMeunUrl", listMeunUrl); + } } request.getSession().setAttribute("list_headmenu", list_headmenu); diff --git a/src/main/java/com/urpsys/basefront/controller/UrpErrorController.java b/src/main/java/com/urpsys/basefront/controller/UrpErrorController.java index 82ec977d..fb2758a7 100644 --- a/src/main/java/com/urpsys/basefront/controller/UrpErrorController.java +++ b/src/main/java/com/urpsys/basefront/controller/UrpErrorController.java @@ -87,6 +87,16 @@ public class UrpErrorController implements ErrorController return "uritms-tiles3/error/error501"; } + @RequestMapping(value={ "/error-page/errorNoAuth.do"}) + public String errorNoAuth(HttpServletRequest request, HttpServletResponse response) + { + log.info(">>>>>>>>>>>>>>> /error-page/errorNoAuth.do <<<<<<<<<<<<<<<"); + log.info("<<<<<<<<<<<<<<< /error-page/errorNoAuth.do >>>>>>>>>>>>>>>"); + + return "uritms-tiles3/error/errorNoAuth"; + } + + diff --git a/src/main/java/com/urpsys/itmsfront/rem/controller/ResourceManagerController.java b/src/main/java/com/urpsys/itmsfront/rem/controller/ResourceManagerController.java index f4599631..0918b938 100644 --- a/src/main/java/com/urpsys/itmsfront/rem/controller/ResourceManagerController.java +++ b/src/main/java/com/urpsys/itmsfront/rem/controller/ResourceManagerController.java @@ -217,7 +217,7 @@ public class ResourceManagerController } /** - * 자산 목록을 조회한다. + * 자산정보 목록 엑셀 저장 * @author urp 인프라본부 나혁제 * 작성일 : 2025.01.31 */ @@ -814,7 +814,7 @@ public class ResourceManagerController } /** - * 자산 삭제 처리를 한다. + * 자산 복수 삭제 처리를 한다. * @author urp 인프라본부 나혁제 * 작성일 : 2025.02.05 */ diff --git a/src/main/java/com/urpsys/itmsfront/rem/domain/ResourceManage.java b/src/main/java/com/urpsys/itmsfront/rem/domain/ResourceManage.java index f725e6af..80b0ad6d 100644 --- a/src/main/java/com/urpsys/itmsfront/rem/domain/ResourceManage.java +++ b/src/main/java/com/urpsys/itmsfront/rem/domain/ResourceManage.java @@ -82,6 +82,9 @@ public class ResourceManage extends ComDefaultVO private String edateEos ; // 2025.19.15 나혁제 조회조건 추가 private String hidEosCheckYn; + // 2026.03.12 나혁제 조회조건 추가(실사용자, 제품번호) + private String vcInAssetSerial; + private String vcInRealChargrNm; public int getInAssetSeq() { return inAssetSeq; @@ -395,6 +398,20 @@ public class ResourceManage extends ComDefaultVO public void setHidEosCheckYn(String hidEosCheckYn) { this.hidEosCheckYn = hidEosCheckYn; } + public String getVcInAssetSerial() { + return vcInAssetSerial; + } + public void setVcInAssetSerial(String vcInAssetSerial) { + this.vcInAssetSerial = vcInAssetSerial; + } + public String getVcInRealChargrNm() { + return vcInRealChargrNm; + } + public void setVcInRealChargrNm(String vcInRealChargrNm) { + this.vcInRealChargrNm = vcInRealChargrNm; + } + + diff --git a/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskController.java b/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskController.java index 3662b399..ac4731ae 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskController.java +++ b/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskController.java @@ -134,7 +134,6 @@ public class SvcDeskController // 네이버 알림서빗 테스트 - return "uritms-tiles2/srm/SvcDeskList"; } diff --git a/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskReqController.java b/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskReqController.java index ff8ac6c6..ea53c59e 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskReqController.java +++ b/src/main/java/com/urpsys/itmsfront/srm/controller/SvcDeskReqController.java @@ -77,7 +77,7 @@ public class SvcDeskReqController CommonService commonService; /** - * 서비스 데스크 인스던트 목록을 조회한다. + * 서비스 데스크 인스던트 신청 목록을 조회한다. * @author urp 인프라본부 나혁제 * 작성일 : 2025.12.15 */ diff --git a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportCheckListVo.java b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportCheckListVo.java index 7e9fc77c..d9d6059f 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportCheckListVo.java +++ b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportCheckListVo.java @@ -21,12 +21,13 @@ import com.urpsys.basefront.domain.ComDefaultVO; public class ReportCheckListVo extends ComDefaultVO { - private String status ; - private String reportId ; - private String incidentNum ; - private String regUser ; - private String reportTitle ; - private String inReportSeq ; + private String status ; + private String reportId ; + private String incidentNum ; + private String regUser ; + private String reportTitle ; + private String inReportSeq ; + private String approvalTargetYn ; // 2026.03.11 나혁제 승인대상 자료 public String getStatus() { return status; @@ -52,6 +53,12 @@ public class ReportCheckListVo extends ComDefaultVO public void setRegUser(String regUser) { this.regUser = regUser; } + public String getApprovalTargetYn() { + return approvalTargetYn; + } + public void setApprovalTargetYn(String approvalTargetYn) { + this.approvalTargetYn = approvalTargetYn; + } public String getReportTitle() { return reportTitle; } diff --git a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportErrorListVo.java b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportErrorListVo.java index 638cc7f3..5e634e44 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportErrorListVo.java +++ b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportErrorListVo.java @@ -21,12 +21,13 @@ import com.urpsys.basefront.domain.ComDefaultVO; public class ReportErrorListVo extends ComDefaultVO { - private String status ; - private String reportId ; - private String incidentNum ; - private String regUser ; - private String reportTitle ; - private String inReportSeq ; + private String status ; + private String reportId ; + private String incidentNum ; + private String regUser ; + private String reportTitle ; + private String inReportSeq ; + private String approvalTargetYn ; // 2026.03.11 나혁제 승인대상 자료 public String getStatus() { return status; @@ -64,6 +65,12 @@ public class ReportErrorListVo extends ComDefaultVO public void setInReportSeq(String inReportSeq) { this.inReportSeq = inReportSeq; } + public String getApprovalTargetYn() { + return approvalTargetYn; + } + public void setApprovalTargetYn(String approvalTargetYn) { + this.approvalTargetYn = approvalTargetYn; + } diff --git a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportIssueListVo.java b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportIssueListVo.java index 71418278..4f2b2142 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportIssueListVo.java +++ b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportIssueListVo.java @@ -21,12 +21,13 @@ import com.urpsys.basefront.domain.ComDefaultVO; public class ReportIssueListVo extends ComDefaultVO { - private String status ; - private String reportId ; - private String incidentNum ; - private String regUser ; - private String reportTitle ; - private String inReportSeq ; + private String status ; + private String reportId ; + private String incidentNum ; + private String regUser ; + private String reportTitle ; + private String inReportSeq ; + private String approvalTargetYn ; // 2026.03.11 나혁제 승인대상 자료 public String getStatus() { return status; @@ -64,6 +65,12 @@ public class ReportIssueListVo extends ComDefaultVO public void setInReportSeq(String inReportSeq) { this.inReportSeq = inReportSeq; } + public String getApprovalTargetYn() { + return approvalTargetYn; + } + public void setApprovalTargetYn(String approvalTargetYn) { + this.approvalTargetYn = approvalTargetYn; + } diff --git a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherListVo.java b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherListVo.java index 8985ad7d..e6db5d3f 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherListVo.java +++ b/src/main/java/com/urpsys/itmsfront/srm/domain/ReportOtherListVo.java @@ -21,13 +21,14 @@ import com.urpsys.basefront.domain.ComDefaultVO; public class ReportOtherListVo extends ComDefaultVO { - private String status ; - private String reportId ; - private String incidentNum ; - private String regUser ; - private String reportTitle ; - private String inReportSeq ; - private String inTask ; + private String status ; + private String reportId ; + private String incidentNum ; + private String regUser ; + private String reportTitle ; + private String inReportSeq ; + private String inTask ; + private String approvalTargetYn ; // 2026.03.11 나혁제 승인대상 자료 public String getStatus() { @@ -72,6 +73,12 @@ public class ReportOtherListVo extends ComDefaultVO public void setInTask(String inTask) { this.inTask = inTask; } + public String getApprovalTargetYn() { + return approvalTargetYn; + } + public void setApprovalTargetYn(String approvalTargetYn) { + this.approvalTargetYn = approvalTargetYn; + } diff --git a/src/main/java/com/urpsys/itmsfront/srm/domain/SvcDeskListVo.java b/src/main/java/com/urpsys/itmsfront/srm/domain/SvcDeskListVo.java index 6e088f31..7e86dbc8 100644 --- a/src/main/java/com/urpsys/itmsfront/srm/domain/SvcDeskListVo.java +++ b/src/main/java/com/urpsys/itmsfront/srm/domain/SvcDeskListVo.java @@ -27,6 +27,7 @@ public class SvcDeskListVo extends ComDefaultVO private String regUser; private String incidentTitle; private String inIncidentSeq; + private String approvalTargetYn ; // 2026.03.11 나혁제 승인대상 자료 public String getComplete() { return complete; @@ -64,6 +65,12 @@ public class SvcDeskListVo extends ComDefaultVO public void setInIncidentSeq(String inIncidentSeq) { this.inIncidentSeq = inIncidentSeq; } + public String getApprovalTargetYn() { + return approvalTargetYn; + } + public void setApprovalTargetYn(String approvalTargetYn) { + this.approvalTargetYn = approvalTargetYn; + } diff --git a/src/main/resources/application-hpnote.yml b/src/main/resources/application-hpnote.yml index 4eb21a43..c161cd64 100644 --- a/src/main/resources/application-hpnote.yml +++ b/src/main/resources/application-hpnote.yml @@ -42,4 +42,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : hpnote + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-infra_server.yml b/src/main/resources/application-infra_server.yml index 9fe357a3..9f029a1a 100644 --- a/src/main/resources/application-infra_server.yml +++ b/src/main/resources/application-infra_server.yml @@ -43,5 +43,7 @@ senderName: 나혁제 socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com - client : urp + client : urp + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-keiti_prod.yml b/src/main/resources/application-keiti_prod.yml index abedfd23..27fe94fd 100644 --- a/src/main/resources/application-keiti_prod.yml +++ b/src/main/resources/application-keiti_prod.yml @@ -49,4 +49,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : keiti + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-kic_dev.yml b/src/main/resources/application-kic_dev.yml index 8d4b1e85..bd930d39 100644 --- a/src/main/resources/application-kic_dev.yml +++ b/src/main/resources/application-kic_dev.yml @@ -44,4 +44,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : kic + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : Y \ No newline at end of file diff --git a/src/main/resources/application-kic_rel.yml b/src/main/resources/application-kic_rel.yml index ef055128..5646fb45 100644 --- a/src/main/resources/application-kic_rel.yml +++ b/src/main/resources/application-kic_rel.yml @@ -43,4 +43,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : kic + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : Y \ No newline at end of file diff --git a/src/main/resources/application-kintex_prod.yml b/src/main/resources/application-kintex_prod.yml index 955293d8..235eead0 100644 --- a/src/main/resources/application-kintex_prod.yml +++ b/src/main/resources/application-kintex_prod.yml @@ -58,4 +58,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : kintex + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 991df085..647ab450 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -50,6 +50,8 @@ senderName: 나혁제 socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com - client : local + client : kintex + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : Y \ No newline at end of file diff --git a/src/main/resources/application-nowon.yml b/src/main/resources/application-nowon.yml index 3fdd945b..f6aa5adc 100644 --- a/src/main/resources/application-nowon.yml +++ b/src/main/resources/application-nowon.yml @@ -50,5 +50,7 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : local + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-vmware.yml b/src/main/resources/application-vmware.yml index 55b57e65..465c060a 100644 --- a/src/main/resources/application-vmware.yml +++ b/src/main/resources/application-vmware.yml @@ -44,4 +44,6 @@ socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com client : vmware + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/resources/application-yp21.yml b/src/main/resources/application-yp21.yml index 40b7677f..ea0bf8a2 100644 --- a/src/main/resources/application-yp21.yml +++ b/src/main/resources/application-yp21.yml @@ -49,6 +49,8 @@ senderName: 나혁제 socketFactory-class: javax.net.ssl.SSLSocketFactory supplier: gmail.com - client : local + client : yp21 + # 2026.03.12 URL 권한 체크 여부 + urlAuthCheck : \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/itms/error/errorNoAuth.jsp b/src/main/webapp/WEB-INF/jsp/itms/error/errorNoAuth.jsp new file mode 100644 index 00000000..f31890f6 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/itms/error/errorNoAuth.jsp @@ -0,0 +1,73 @@ +<%-- + Class Name : error501.jsp + Description : 시스템 오류 페이지 처리 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2025.01.24 나혁제 최초생성 + + author : urp 인프라본부 나혁제 + since : 2025.01.24 +--%> +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> + +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> + + +<%-- 2025.01.24 오류 스타일시트 적용 --%> + + + + + + + + +
+ +
+ +
+
+
    +
  • + + 권한 없음 +
  • +
  • +

    + 해당 사용자는 현재 업무에 대해 처리권한이 없습니다. + + 서비스 이용에 불편을 드려 죄송합니다.
    + 시스템 관리자에게 없무권한 부여후 사용하시길 바랍니다. +
    +

    +
  • +
+
+ +
+
+
+ +
+ +
+ + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceDetail.jsp b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceDetail.jsp index 0d6622ca..f39b2d18 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceDetail.jsp @@ -594,7 +594,7 @@ EOS일자 + maxlength="10" value="${resultAsset.dtEos}" title="EOS일" readonly style="width:90%;" /> diff --git a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceInsert.jsp b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceInsert.jsp index ee7bbafd..dd890414 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceInsert.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceInsert.jsp @@ -364,7 +364,7 @@ - 자산번호 + * 자산번호 도입일자 @@ -393,7 +393,7 @@ - 자산명 + * 자산명 제품명 @@ -409,7 +409,7 @@ - 도입금액 + * 도입금액 <%-- 2025.08.29 나혁제 자산상새 이동, 유지보수여부 이동 --%> @@ -444,7 +444,7 @@ - 유지보수요율 + * 유지보수요율 % 유지보수주기 diff --git a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceList.jsp b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceList.jsp index 3ad8d374..ea241d29 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceList.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/rem/ResourceList.jsp @@ -423,10 +423,18 @@ + maxlength="10" value="${resourceManage.sdateEos}" title="EOS일 시작일" readonly style="width:130px;" /> ~ + maxlength="10" value="${resourceManage.edateEos}" title="EOS일 종료" readonly style="width:130px" /> + +        + + + +        + +        + + <%-- 2026.03.11 나혁제 승인대상 조건 추가 --%> +                + + @@ -200,8 +219,8 @@ - - + + @@ -241,8 +260,20 @@ - + <%-- 2026.03.11 나혁제 작성자 부분 그룹 추가 --%> + + + + + + + + + + + <%-- + --%> @@ -277,7 +308,8 @@ - + + diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorDetail.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorDetail.jsp index 66349c90..e9437390 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorDetail.jsp @@ -691,6 +691,7 @@ + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorList.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorList.jsp index 66efe09e..ea826f30 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorList.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportErrorList.jsp @@ -88,6 +88,16 @@ console.log($("#status").val()); + // 2026.03.11 나혁제 승인대상추출 조건 추가 + if($("#chk_approvalTargetYn").is(":checked")) + { + $("#approvalTargetYn").val("Y") + } + else + { + $("#approvalTargetYn").val("") + } + // 2025.12.04 나혁제 한페이지당 목록건수 추가 document.listForm.pageUnit.value = document.listForm.selPageSize.value; document.listForm.pageIndex.value = pageIndex; @@ -136,6 +146,15 @@ checked="checked" > 승인완료 + + <%-- 2026.03.11 나혁제 승인대상 조건 추가 --%> +                + + @@ -241,8 +260,20 @@ - + <%-- 2026.03.11 나혁제 작성자 부분 그룹 추가 --%> + + + + + + + + + + + <%-- + --%> @@ -278,6 +309,8 @@ + + diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueDetail.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueDetail.jsp index 71606260..fe44947b 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueDetail.jsp @@ -707,6 +707,7 @@ + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueList.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueList.jsp index 83a49e83..4dbba9f3 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueList.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportIssueList.jsp @@ -88,6 +88,16 @@ console.log($("#status").val()); + // 2026.03.11 나혁제 승인대상추출 조건 추가 + if($("#chk_approvalTargetYn").is(":checked")) + { + $("#approvalTargetYn").val("Y") + } + else + { + $("#approvalTargetYn").val("") + } + // 2025.12.04 나혁제 한페이지당 목록건수 추가 document.listForm.pageUnit.value = document.listForm.selPageSize.value; document.listForm.pageIndex.value = pageIndex; @@ -137,6 +147,14 @@ checked="checked" > 승인완료 + + <%-- 2026.03.11 나혁제 승인대상 조건 추가 --%> +                + @@ -241,7 +259,20 @@ + <%-- 2026.03.11 나혁제 작성자 부분 그룹 추가 --%> + + + + + + + + + + + <%-- + --%> @@ -277,6 +308,8 @@ + + diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp index 0384bacc..f4ac97c8 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherDetail.jsp @@ -733,11 +733,12 @@ - - - - - + + + + + + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp index 7e893eaa..7328d657 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/ReportOtherList.jsp @@ -27,7 +27,6 @@ <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> - 기타보고서 정보 @@ -95,6 +94,16 @@ console.log($("#status").val()); + // 2026.03.11 나혁제 승인대상추출 조건 추가 + if($("#chk_approvalTargetYn").is(":checked")) + { + $("#approvalTargetYn").val("Y") + } + else + { + $("#approvalTargetYn").val("") + } + // 2025.12.04 나혁제 한페이지당 목록건수 추가 document.listForm.pageUnit.value = document.listForm.selPageSize.value; document.listForm.pageIndex.value = pageIndex; @@ -143,6 +152,13 @@ checked="checked" > 승인완료 + <%-- 2026.03.11 나혁제 승인대상 조건 추가 --%> +                + @@ -170,7 +186,7 @@
- +
@@ -247,7 +263,20 @@ + <%-- 2026.03.11 나혁제 작성자 부분 그룹 추가 --%> + + + + + + + + + + + <%-- + --%> @@ -284,8 +313,10 @@ - - + + + + diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskCopyInsert.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskCopyInsert.jsp index 8f65a362..364b88b7 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskCopyInsert.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskCopyInsert.jsp @@ -764,6 +764,7 @@ + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskDetail.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskDetail.jsp index 84e0ca2a..af0c85f5 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskDetail.jsp @@ -971,6 +971,7 @@ + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskInsert.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskInsert.jsp index 9f1aaf83..826cc86c 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskInsert.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskInsert.jsp @@ -824,6 +824,8 @@ ${uploadMax } + <%-- 2026.03.11 나혁제 승인대상만추출 조건 추가 --%> + <%-- 2025.10.21 나혁제 오류 발생 --%> diff --git a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskList.jsp b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskList.jsp index d2ce131c..d353e527 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskList.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/srm/SvcDeskList.jsp @@ -96,6 +96,16 @@ console.log("complete =>" + complete); console.log("status =>" + status); + // 2026.03.11 나혁제 승인대상추출 조건 추가 + if($("#chk_approvalTargetYn").is(":checked")) + { + $("#approvalTargetYn").val("Y") + } + else + { + $("#approvalTargetYn").val("") + } + document.listForm.pageIndex.value = pageIndex; // 2025.12.04 나혁제 한페이지당 목록건수 추가 document.listForm.pageUnit.value = document.listForm.selPageSize.value; @@ -125,9 +135,9 @@ - + - + @@ -161,6 +171,15 @@ checked="checked" > 승인완료 + + <%-- 2026.03.11 나혁제 승인대상 조건 추가 --%> +                + + @@ -291,8 +310,9 @@ - - + + +