From b0569730005e1422bbe9396ffd37012996687dc0 Mon Sep 17 00:00:00 2001 From: urp Date: Fri, 29 Aug 2025 13:16:47 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=9C=EA=B5=AD=ED=99=98=EA=B2=BD=EC=82=B0?= =?UTF-8?q?=EC=97=85=EA=B8=B0=EC=88=A0=EC=9B=90=20=EC=84=A4=EC=B9=98?= =?UTF-8?q?=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .classpath | 6 +- .../basefront/urpBaseJspApplication.java | 6 ++ .../sys/controller/UserManageController.java | 53 ++++++++++++++++-- src/main/resources/application-keiti_prod.yml | 47 ++++++++++++++++ src/main/resources/application-local.yml | 6 ++ .../resources/sslkey/STAR.keiti.re.kr.jks | Bin 0 -> 5207 bytes .../resources/validator/urp/EgovValidator.xml | 4 +- .../WEB-INF/jsp/itms/sys/UserPasswordUpdt.jsp | 19 ++++++- .../WEB-INF/jsp/itms/sys/UserSelectUpdt.jsp | 2 +- 9 files changed, 134 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/application-keiti_prod.yml create mode 100644 src/main/resources/sslkey/STAR.keiti.re.kr.jks diff --git a/.classpath b/.classpath index 36064bc1..a50c6c85 100644 --- a/.classpath +++ b/.classpath @@ -12,7 +12,11 @@ - + + + + + diff --git a/src/main/java/com/urpsys/basefront/urpBaseJspApplication.java b/src/main/java/com/urpsys/basefront/urpBaseJspApplication.java index 197e97b2..57acdef6 100644 --- a/src/main/java/com/urpsys/basefront/urpBaseJspApplication.java +++ b/src/main/java/com/urpsys/basefront/urpBaseJspApplication.java @@ -64,6 +64,12 @@ public class urpBaseJspApplication System.out.println("############# kic_rel Env ######################"); System.out.println("################################################"); } + else if(activeProfile.equals("keiti_prod")) + { + System.out.println("################################################"); + System.out.println("############# keiti_prod Env ###################"); + System.out.println("################################################"); + } else { System.out.println("################################################"); diff --git a/src/main/java/com/urpsys/itmsfront/sys/controller/UserManageController.java b/src/main/java/com/urpsys/itmsfront/sys/controller/UserManageController.java index 83df6e3a..438a7807 100644 --- a/src/main/java/com/urpsys/itmsfront/sys/controller/UserManageController.java +++ b/src/main/java/com/urpsys/itmsfront/sys/controller/UserManageController.java @@ -24,6 +24,7 @@ import org.springframework.web.servlet.ModelAndView; import org.springmodules.validation.commons.DefaultBeanValidator; import com.urpsys.basefront.common.service.CommonService; +import com.urpsys.basefront.common.util.CommonUtil; import com.urpsys.basefront.common.util.ConvertUtils; import com.urpsys.basefront.common.util.RestApiCallUtil; import com.urpsys.basefront.config.EgovMessageSource; @@ -266,7 +267,7 @@ public class UserManageController // Return Data Setting Start -------------------------- Map resultMap = (Map)returnMap.get("resultMap"); // Return Data Setting End -------------------------- - + UserManageVO userManageVO = ConvertUtils.convertToValueObjectAll(resultMap, UserManageVO.class); model.addAttribute("userSearchVO", userSearchVO ); @@ -381,6 +382,8 @@ public class UserManageController String userTyForPassword = (String) commandMap.get("userTyForPassword"); userManageVO.setUserTy(userTyForPassword); + log.info("strAdminYn=>"+strAdminYn); + model.addAttribute("userManageVO", userManageVO ); model.addAttribute("userSearchVO", userSearchVO ); model.addAttribute("adminYn" , strAdminYn ); @@ -586,11 +589,14 @@ public class UserManageController String strReturnUrl=""; + log.info("userManageVO : [{}]", userManageVO.getEmailAdres()); + + // /* 2025.08.22 나혁제 일단 체크하지 않음 beanValidator.validate(userManageVO, bindingResult); if (bindingResult.hasErrors()) { model.addAttribute("resultMsg", bindingResult.getAllErrors().get(0).getDefaultMessage()); - strReturnUrl = "forward:/sys/EgovUserManage.do"; + strReturnUrl = "forward:/sys/UserManage.do"; } else { @@ -621,14 +627,53 @@ public class UserManageController if(strAdminYn.equals("Y")) { - return "forward:/sys/UserManage.do"; + strReturnUrl = "forward:/sys/UserManage.do"; } else { - return "redirect:/sys/UserSelectUpdtView.do?selectedId="; + strReturnUrl = "redirect:/sys/UserSelectUpdtView.do?selectedId="; } } + /* + String strReturnUrl=""; + + if ("".equals(userManageVO.getOrgnztId())) + { + userManageVO.setOrgnztId(null); + } + + if ("".equals(userManageVO.getGroupId())) + { + userManageVO.setGroupId(null); + } + + // Body Setting Start --------------------------------- + bodyMap = ConvertUtils.convertToMapAll(userManageVO); + // Body Setting End --------------------------------- + + // RestApi Call Start --------------------------------- + returnMap = restApiCallUtil.RestApiCall(bodyMap, "/sys/UserSelectUpdt.do"); + // RestApi Call End --------------------------------- + + // Return Data Setting Start -------------------------- + int iResult = (int)returnMap.get("iResult"); + // Return Data Setting End -------------------------- + + //Exception 없이 진행시 수정성공메시지 + model.addAttribute("resultMsg", "success.common.update"); + + if(strAdminYn.equals("Y")) + { + strReturnUrl = "forward:/sys/UserManage.do"; + } + else + { + strReturnUrl = "redirect:/sys/UserSelectUpdtView.do?selectedId="; + } + */ + + log.info("strReturnUrl [{}]", strReturnUrl); log.info("<<<<<<<<<<<<<<< /sys/UserSelectUpdt.do >>>>>>>>>>>>>>>"); return strReturnUrl; diff --git a/src/main/resources/application-keiti_prod.yml b/src/main/resources/application-keiti_prod.yml new file mode 100644 index 00000000..fd809d49 --- /dev/null +++ b/src/main/resources/application-keiti_prod.yml @@ -0,0 +1,47 @@ + # Service port + server: + port: 443 + servlet: + session: + timeout: 120m + cookie: + name: BASEJSP_JSESSIONID + ssl: + enabled: true #Spring Security를 사용하는 경우 HTTPS 요청만 허용하도록 해주는 설정 + key-store-type: PKCS12 + key-store: classpath:sslkey/STAR.keiti.re.kr.jks + key-store-password: keiti123 + +# JSP 설정 + spring: + mvc: + view: + prefix: /WEB-INF/jsp/ + suffix: .jsp + static-patn-pattern: /static/** + + devtools: + livereload: + enabled: true + +# custom 설정 + custom: + path: + phy_svy: /app/itsm_data/svy/ + loc_svy: /svy/image/ + file_store: /app/itsm_data/itsm_file_upload + auth_server: http://localhost:11000 + api_server: http://localhost:11010 +# api_search_server: http://109.26.11.21:48381 + api_search_server: http://192.168.100.76:48381 + sendmail: + id: tW9kMpd3SiAnf3RQBOZapw== + password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8= + port: 587 + host: smtp.gmail.com + sendEmail: hhjj0701@gmail.com + senderName: 나혁제 + socketFactory-class: javax.net.ssl.SSLSocketFactory + supplier: gmail.com + + \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 9dd49089..d8277ac3 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -6,6 +6,12 @@ timeout: 120m cookie: name: BASEJSP_JSESSIONID +# ssl: +# enabled: true #Spring Security를 사용하는 경우 HTTPS 요청만 허용하도록 해주는 설정 +# key-store-type: PKCS12 +# key-store: classpath:sslkey/STAR.keiti.re.kr.jks +# key-store-password: keiti123 +# key-alias: keiti.re.kr # JSP 설정 spring: diff --git a/src/main/resources/sslkey/STAR.keiti.re.kr.jks b/src/main/resources/sslkey/STAR.keiti.re.kr.jks new file mode 100644 index 0000000000000000000000000000000000000000..4128205992c065b300a2f78dedd48caec0403660 GIT binary patch literal 5207 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/validator/urp/EgovValidator.xml b/src/main/resources/validator/urp/EgovValidator.xml index a0e43313..b1f7955a 100644 --- a/src/main/resources/validator/urp/EgovValidator.xml +++ b/src/main/resources/validator/urp/EgovValidator.xml @@ -4129,10 +4129,12 @@ - + + diff --git a/src/main/webapp/WEB-INF/jsp/itms/sys/UserPasswordUpdt.jsp b/src/main/webapp/WEB-INF/jsp/itms/sys/UserPasswordUpdt.jsp index df66e24d..710745af 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/sys/UserPasswordUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/sys/UserPasswordUpdt.jsp @@ -48,13 +48,26 @@ { if(validatePasswordChgVO(form)) { - if(form.newPassword.value != form.newPassword2.value){ + // 2025.08.23 나혁제 관리자는 이전 비밀번호 없이 변경가능 + if(form.adminYn.value != "Y" ) + { + if(form.oldPassword.value == "") + { + alert("이전 비밀번호을 입력해 주시기 바랍니다."); + return false; + } + } + + if(form.newPassword.value != form.newPassword2.value) + { alert(""); return false; } document.passwordChgVO.submit(); return true; - }else{ + } + else + { return false; } } @@ -133,6 +146,7 @@ + ${title}* @@ -140,6 +154,7 @@ + diff --git a/src/main/webapp/WEB-INF/jsp/itms/sys/UserSelectUpdt.jsp b/src/main/webapp/WEB-INF/jsp/itms/sys/UserSelectUpdt.jsp index 9f0fa291..bc8f1ac2 100644 --- a/src/main/webapp/WEB-INF/jsp/itms/sys/UserSelectUpdt.jsp +++ b/src/main/webapp/WEB-INF/jsp/itms/sys/UserSelectUpdt.jsp @@ -381,7 +381,7 @@
- +