From dcf9c340c2511552fa20ffa2680a90de095a456b Mon Sep 17 00:00:00 2001 From: myname Date: Wed, 10 Sep 2025 09:47:02 +0900 Subject: [PATCH] =?UTF-8?q?2025-09-10=20=ED=94=84=EB=A1=9C=EC=A0=9D?= =?UTF-8?q?=ED=8A=B8=20=EC=95=94=ED=98=B8=ED=99=94=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kcc/com/cmm/util/StringUtil.java | 3 + .../com/uss/ion/cert/web/CertController.java | 6 +- .../service/impl/EgovLoginServiceImpl.java | 81 ++++- .../impl/EgovMberManageServiceImpl.java | 14 +- .../let/uat/uia/service/impl/LoginDAO.java | 4 + .../umt/service/EgovUserManageService.java | 2 + .../impl/EgovUserManageServiceImpl.java | 19 +- .../uss/umt/service/impl/UserManageDAO.java | 4 + .../uss/umt/web/EgovUserManageController.java | 36 +- .../let/utl/fcc/service/EgovCryptoUtil.java | 66 +++- .../kcc/let/utl/sim/service/AES256Util.java | 72 ++++ .../utl/sim/service/EgovNewPasswordUtil.java | 42 +++ .../egovProps/globals.properties | 3 + .../egovProps/globals_dev.properties | 3 + .../egovProps/globals_local.properties | 3 + .../egovProps/globals_svr.properties | 335 +++++++++--------- .../egovProps/globals_tLocal.properties | 3 + .../spring/com/context-crypto.xml | 67 ++-- .../uat/uia/EgovLoginUsr_SQL_Postgresql.xml | 43 +++ .../uss/umt/EgovUserManage_SQL_Postgresql.xml | 11 +- .../jsp/cmm/uss/umt/EgovUserManage.jsp | 1 + .../cndtnEduPrcsAplctCfnMngList.jsp | 8 +- .../cndtnEduPrcsAplctPrdMngList.jsp | 10 +- .../cndtnSspnIdtmt/cndtnEduPrcsMngList.jsp | 13 +- 24 files changed, 598 insertions(+), 251 deletions(-) create mode 100644 src/main/java/kcc/let/utl/sim/service/AES256Util.java create mode 100644 src/main/java/kcc/let/utl/sim/service/EgovNewPasswordUtil.java diff --git a/src/main/java/kcc/com/cmm/util/StringUtil.java b/src/main/java/kcc/com/cmm/util/StringUtil.java index fa68500c..20360297 100644 --- a/src/main/java/kcc/com/cmm/util/StringUtil.java +++ b/src/main/java/kcc/com/cmm/util/StringUtil.java @@ -28,6 +28,7 @@ import java.util.HashMap; import java.util.regex.Pattern; import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; public class StringUtil { @@ -416,6 +417,8 @@ public class StringUtil { public static void main(String args[]) { try { System.out.print(EgovFileScrty.encryptPassword("1", "kcctest")); + System.out.print(EgovNewPasswordUtil.hashPassword("1")); + } catch (Exception e) { System.out.println("Main Exception Error"); } diff --git a/src/main/java/kcc/com/uss/ion/cert/web/CertController.java b/src/main/java/kcc/com/uss/ion/cert/web/CertController.java index d842b934..75fc4ce3 100644 --- a/src/main/java/kcc/com/uss/ion/cert/web/CertController.java +++ b/src/main/java/kcc/com/uss/ion/cert/web/CertController.java @@ -14,7 +14,7 @@ import org.springframework.web.servlet.ModelAndView; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.utl.fcc.service.CertUtil; -import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; @Controller public class CertController { @@ -95,7 +95,9 @@ public class CertController { //3.오류시 문구 s_message = retMap.get("sResult").toString(); - sn = EgovFileScrty.encryptPassword(s_SN,membSeq); + //sn = EgovFileScrty.encryptPassword(s_SN,membSeq); + sn = EgovNewPasswordUtil.hashPassword(s_SN); + }catch(Exception ex) { System.out.println("Exception Occured!!!"); diff --git a/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java b/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java index 8c8cc15a..822ee0a5 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/EgovLoginServiceImpl.java @@ -12,9 +12,12 @@ import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.psl.dataaccess.util.EgovMap; import kcc.com.cmm.LoginVO; import kcc.let.uat.uia.service.EgovLoginService; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserManageVO; import kcc.let.utl.fcc.service.EgovNumberUtil; import kcc.let.utl.fcc.service.EgovStringUtil; import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; /** * 일반 로그인, 인증서 로그인을 처리하는 비즈니스 구현 클래스 @@ -40,6 +43,10 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements @Resource(name="loginDAO") private LoginDAO loginDAO; + /** userManageService */ + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + ///** EgovSndngMailRegistService */ //@Resource(name = "sndngMailRegistService") //private EgovSndngMailRegistService sndngMailRegistService; @@ -53,19 +60,75 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements */ @Override public LoginVO actionLogin(LoginVO vo) throws Exception { - + //step1.new 로그인인 경우 loginvo ret + //step2.legacy 로그인인 경우 new password로 업데이트 후 loginvo ret + //step3.둘다 아니면 loginvo ret + LoginVO loginVO = null; + String s_password = vo.getPassword(); + System.out.println("======1========================"+s_password); + System.out.println("======1========================"+EgovNewPasswordUtil.hashPassword(s_password)); + System.out.println("======1========================"+EgovFileScrty.encryptPassword(s_password, vo.getId())); + + //step1.new 로그인인 경우 loginvo ret //최고관리자를 제외한 사용자 sso 로그인으로 비밀번호 암호화 삭제(210818, 이준호) // 1. 입력한 비밀번호를 암호화한다. if("USR".equals(vo.getUserSe())) { - String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + //String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + String enpassword = EgovNewPasswordUtil.hashPassword(s_password); vo.setPassword(enpassword); } + System.out.println("======2========================"+s_password); // 2. 아이디와 암호화된 비밀번호가 DB와 일치하는지 확인한다. - LoginVO loginVO = loginDAO.actionLogin(vo); + loginVO = loginDAO.actionLoginNew(vo); + System.out.println("======3========================"+s_password); + System.out.println("======3========================"+loginVO.getPassword()); + if (EgovNewPasswordUtil.matches(s_password, loginVO.getPassword())) { + return loginVO; + } + + /* + loginVO = loginDAO.actionLogin(vo); // 3. 결과를 리턴한다. if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + return loginVO; + } + */ + + System.out.println("======4========================"+s_password); + + //step2.legacy 로그인인 경우 new password로 업데이트 후 loginvo ret + //최고관리자를 제외한 사용자 sso 로그인으로 비밀번호 암호화 삭제(210818, 이준호) + // 1. 입력한 비밀번호를 암호화한다. + if("USR".equals(vo.getUserSe())) { + String enpassword = EgovFileScrty.encryptPassword(s_password, vo.getId()); + //String enpassword = EgovNewPasswordUtil.hashPassword(vo.getPassword()); + vo.setPassword(enpassword); + } + + System.out.println("======5========================"+s_password); + + // 2. 아이디와 암호화된 비밀번호가 DB와 일치하는지 확인한다. + loginVO = loginDAO.actionLogin(vo); + + System.out.println("======6========================"+s_password); + + // 3. 결과를 리턴한다. + if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + //패스워드를 newpassword로 변경 + UserManageVO userManageVO = new UserManageVO(); + userManageVO.setUniqId(vo.getId()); + userManageVO.setPassword(EgovNewPasswordUtil.hashPassword(s_password)); //입력한 비밀번호 암호화 + userManageService.updatePasswordR(userManageVO); + + System.out.println("======7========================"+s_password); + + /* + PASSWORD = #password# + WHERE ESNTL_ID = #uniqId# + */ + return loginVO; } else { loginVO = new LoginVO(); @@ -80,7 +143,8 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements //최고관리자를 제외한 사용자 sso 로그인으로 비밀번호 암호화 삭제(210818, 이준호) // 1. 입력한 비밀번호를 암호화한다. if("USR".equals(vo.getUserSe())) { - String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + //String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + String enpassword = EgovNewPasswordUtil.hashPassword(vo.getPassword()); vo.setPassword(enpassword); } @@ -193,7 +257,8 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements // 3. 임시 비밀번호를 암호화하여 DB에 저장한다. LoginVO pwVO = new LoginVO(); - String enpassword = EgovFileScrty.encryptPassword(newpassword, vo.getId()); + //String enpassword = EgovFileScrty.encryptPassword(newpassword, vo.getId()); + String enpassword = EgovNewPasswordUtil.hashPassword(newpassword); pwVO.setId(vo.getId()); pwVO.setPassword(enpassword); pwVO.setUserSe(vo.getUserSe()); @@ -220,7 +285,8 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements @Override public LoginVO siteActionLogin(LoginVO vo) throws Exception { // 1. 입력한 비밀번호를 암호화한다. - String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + //String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + String enpassword = EgovNewPasswordUtil.hashPassword(vo.getPassword()); vo.setPassword(enpassword); // 2. 아이디와 암호화된 비밀번호가 DB와 일치하는지 확인한다. @@ -298,7 +364,8 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements //최고관리자를 제외한 사용자 sso 로그인으로 비밀번호 암호화 삭제(210818, 이준호) // 1. 입력한 비밀번호를 암호화한다. if("USR".equals(vo.getUserSe())) { - String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + //String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + String enpassword = EgovNewPasswordUtil.hashPassword(vo.getPassword()); vo.setPassword(enpassword); } diff --git a/src/main/java/kcc/let/uat/uia/service/impl/EgovMberManageServiceImpl.java b/src/main/java/kcc/let/uat/uia/service/impl/EgovMberManageServiceImpl.java index b7699859..840425f6 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/EgovMberManageServiceImpl.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/EgovMberManageServiceImpl.java @@ -15,7 +15,7 @@ import kcc.let.uss.umt.service.EgovMberManageService; import kcc.let.uss.umt.service.MberManageConfigVO; import kcc.let.uss.umt.service.MberManageVO; import kcc.let.uss.umt.service.UserDefaultVO; -import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; /** * 일반회원관리에 관한비지니스클래스를 정의한다. @@ -55,7 +55,9 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement String uniqId = idgenService.getNextStringId(); mberManageVO.setUniqId(uniqId); //패스워드 암호화 - String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + //String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + String pass = EgovNewPasswordUtil.hashPassword(mberManageVO.getPassword()); + mberManageVO.setPassword(pass); String result = mberManageDAO.insertMber(mberManageVO); @@ -93,7 +95,9 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement @Override public void updateMber(MberManageVO mberManageVO) throws Exception { //패스워드 암호화 - String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + //String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + String pass = EgovNewPasswordUtil.hashPassword(mberManageVO.getPassword()); + mberManageVO.setPassword(pass); mberManageDAO.updateMber(mberManageVO); @@ -151,7 +155,9 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement String uniqId = idgenService.getNextStringId(); mberManageVO.setUniqId(uniqId); //패스워드 암호화 - String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + //String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), mberManageVO.getMberId()); + String pass = EgovNewPasswordUtil.hashPassword(mberManageVO.getPassword()); + mberManageVO.setPassword(pass); /*AuthorGroup authorGroup = new AuthorGroup(); authorGroup.setUniqId(uniqId); diff --git a/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java b/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java index 48fcb074..da377c6d 100644 --- a/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java +++ b/src/main/java/kcc/let/uat/uia/service/impl/LoginDAO.java @@ -41,6 +41,10 @@ public class LoginDAO extends EgovAbstractDAO { public LoginVO actionLoginDev(LoginVO vo) throws Exception { return (LoginVO)select("loginDAO.actionLoginDev", vo); } + + public LoginVO actionLoginNew(LoginVO vo) throws Exception { + return (LoginVO)select("loginDAO.actionLoginNew", vo); + } /** * 등록된 SNS 수량을 조회한다. diff --git a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java index dba24813..22875b18 100644 --- a/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java +++ b/src/main/java/kcc/let/uss/umt/service/EgovUserManageService.java @@ -89,6 +89,8 @@ public interface EgovUserManageService { * @throws Exception */ public void updatePassword(UserManageVO userManageVO) throws Exception; + + public void updatePasswordR(UserManageVO userManageVO) throws Exception; /** * 사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 diff --git a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java index 5513c52c..244606d1 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/EgovUserManageServiceImpl.java @@ -17,7 +17,7 @@ import kcc.let.uat.uia.service.impl.MberManageDAO; import kcc.let.uss.umt.service.EgovUserManageService; import kcc.let.uss.umt.service.UserDefaultVO; import kcc.let.uss.umt.service.UserManageVO; -import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; /** * 사용자관리에 관한 비지니스 클래스를 정의한다. @@ -127,7 +127,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement ){ //관리자 //패스워드 암호화 - pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + //pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); userManageVO.setPassword(pass); }else { //관리자 이외 @@ -217,7 +218,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement @Override public void updateUser(UserManageVO userManageVO) throws Exception { //패스워드 암호화 - String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + //String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + String pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); userManageVO.setPassword(pass); userManageDAO.updateUser(userManageVO); @@ -244,6 +246,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement userManageDAO.updatePassword(userManageVO); } + @Override + public void updatePasswordR(UserManageVO userManageVO) { + userManageDAO.updatePasswordR(userManageVO); + } + /** * 사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 * @param passVO 업무사용자 암호 조회조건정보 @@ -271,7 +278,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement @Override public void updateUserPWAjax(UserManageVO userManageVO) throws Exception { //패스워드 암호화 - String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + //String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + String pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); userManageVO.setPassword(pass); userManageDAO.updateUserPWAjax(userManageVO); } @@ -348,7 +356,8 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement String pass = "1"; if("ROLE_ADMIN".equals(userManageVO.getAuthorCode()) || "ROLE_VISIT".equals(userManageVO.getAuthorCode())){ //패스워드 암호화 - pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + //pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + pass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); userManageVO.setPassword(pass); }else { userManageVO.setPassword(pass); diff --git a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java index 68c68304..eeeb3fc8 100644 --- a/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java +++ b/src/main/java/kcc/let/uss/umt/service/impl/UserManageDAO.java @@ -107,6 +107,10 @@ public class UserManageDAO extends EgovAbstractDAO{ public void updatePassword(UserManageVO passVO) { update("userManageDAO.updatePassword_S", passVO); } + + public void updatePasswordR(UserManageVO passVO) { + update("userManageDAO.updatePassword_R", passVO); + } /** * 업무사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 diff --git a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java index 364c10e8..6f97e6e2 100644 --- a/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java +++ b/src/main/java/kcc/let/uss/umt/web/EgovUserManageController.java @@ -74,7 +74,7 @@ import kcc.let.uss.umt.service.MberManageVO; import kcc.let.uss.umt.service.UserDefaultVO; import kcc.let.uss.umt.service.UserManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.let.utl.sim.service.EgovFileScrty; +import kcc.let.utl.sim.service.EgovNewPasswordUtil; /** * 업무사용자관련 요청을 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다 @@ -211,6 +211,17 @@ public class EgovUserManageController { userSearchVO.setSearchSortOrd("desc"); } List resultList = userManageService.selectUserList(userSearchVO) ; + for (int i=0;i 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0); //int i_resultList = resultList.size(); @@ -543,6 +554,7 @@ public class EgovUserManageController { } */ + userManageVO = egovCryptoUtil.encryptUserManageVO(userManageVO); userManageService.insertUser(userManageVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); }catch(Exception e){ @@ -608,6 +620,7 @@ public class EgovUserManageController { UserManageVO userManageVO = new UserManageVO(); userManageVO = userManageService.selectUser(uniqId); + userManageVO = egovCryptoUtil.decryptUserManageVO(userManageVO); model.addAttribute("userSearchVO", userSearchVO); model.addAttribute("userManageVO", userManageVO); @@ -902,6 +915,8 @@ public class EgovUserManageController { } userManageService.insertUserHistory(userManageVO); + + userManageVO = egovCryptoUtil.encryptUserManageVO(userManageVO); userManageService.updateUser(userManageVO); //권한업데이트 egovAuthorGroupService.updateAuthorGroup(authorGroup); @@ -1164,12 +1179,12 @@ public class EgovUserManageController { // authFlag = false; //GS인증으로 이전비밀번호 체크 // 이전 비밀번호 체크 하지 않고 비밀번호 변경되게 해달라는 요청으로 주석처리 220209 이준호 // if (encryptPass.equals(resultVO.getPassword()) || authFlag) { - if (newPassword.equals(newPassword2)) { - isCorrectPassword = true; - } else { - isCorrectPassword = false; - resultMsg = "fail.user.passwordUpdate2"; - } + if (newPassword.equals(newPassword2)) { + isCorrectPassword = true; + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate2"; + } // } /*else { isCorrectPassword = false; @@ -1177,7 +1192,8 @@ public class EgovUserManageController { }*/ if (isCorrectPassword) { - userManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, userManageVO.getEmplyrId())); + //userManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, userManageVO.getEmplyrId())); + userManageVO.setPassword(EgovNewPasswordUtil.hashPassword(newPassword)); //입력한 비밀번호 암호화 userManageService.updatePassword(userManageVO); model.addAttribute("userManageVO", userManageVO); resultMsg = "success.common.update"; @@ -1917,7 +1933,9 @@ public class EgovUserManageController { }else { String returnPassword = returnUserManageVO.getPassword() ; //패스워드 암호화 - String encryptPass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + //String encryptPass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId()); + String encryptPass = EgovNewPasswordUtil.hashPassword(userManageVO.getPassword()); + if(returnPassword.equals(encryptPass)) { modelAndView.addObject("usedCnt", 1); //세션으로 인증넣어줌 diff --git a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java index 492bc2a2..91e9b33b 100644 --- a/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java +++ b/src/main/java/kcc/let/utl/fcc/service/EgovCryptoUtil.java @@ -7,10 +7,12 @@ import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import egovframework.rte.fdl.cryptography.EgovEnvCryptoService; import egovframework.rte.fdl.cryptography.EgovPasswordEncoder; +import egovframework.rte.psl.dataaccess.util.EgovMap; import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.service.CmmnDetailCode; @@ -19,6 +21,7 @@ import kcc.com.cmm.service.FileVO; import kcc.kccadr.sch.service.SchduleManageVO; import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uss.umt.service.UserManageVO; +import kcc.let.utl.sim.service.AES256Util; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; @@ -66,6 +69,9 @@ public class EgovCryptoUtil { @Resource(name = "egovEnvPasswordEncoderService") EgovPasswordEncoder egovPasswordEncoder; + @Autowired + private AES256Util aes256Util; + ////////////////////////////////////////////////// // // VO 별 암/복호화 @@ -81,6 +87,8 @@ public class EgovCryptoUtil { if (!"".equals(p_vEEduAplctVO.getPhone())) p_vEEduAplctVO.setPhone(this.encrypt(p_vEEduAplctVO.getPhone())); if (!"".equals(p_vEEduAplctVO.getEmail())) p_vEEduAplctVO.setEmail(this.encrypt(p_vEEduAplctVO.getEmail())); if (!"".equals(p_vEEduAplctVO.getSearchKeyword()))p_vEEduAplctVO.setInstrNm(this.encrypt(p_vEEduAplctVO.getSearchKeyword())); + + if (!"".equals(p_vEEduAplctVO.getdBirth())) p_vEEduAplctVO.setdBirth(this.encrypt(p_vEEduAplctVO.getdBirth())); return p_vEEduAplctVO; } @@ -91,9 +99,12 @@ public class EgovCryptoUtil { if (!"".equals(p_vEEduAplctVO.getClphone())) p_vEEduAplctVO.setClphone(this.decrypt(p_vEEduAplctVO.getClphone())); if (!"".equals(p_vEEduAplctVO.getPhone())) p_vEEduAplctVO.setPhone(this.decrypt(p_vEEduAplctVO.getPhone())); if (!"".equals(p_vEEduAplctVO.getEmail())) p_vEEduAplctVO.setEmail(this.decrypt(p_vEEduAplctVO.getEmail())); + if (!"".equals(p_vEEduAplctVO.getInstrNm())) p_vEEduAplctVO.setInstrNm(this.decrypt(p_vEEduAplctVO.getInstrNm())); if (!"".equals(p_vEEduAplctVO.getUserNm())) p_vEEduAplctVO.setUserNm(this.decrypt(p_vEEduAplctVO.getUserNm())); if (!"".equals(p_vEEduAplctVO.getInstrPhone())) p_vEEduAplctVO.setInstrPhone(this.decrypt(p_vEEduAplctVO.getInstrPhone())); + + if (!"".equals(p_vEEduAplctVO.getdBirth())) p_vEEduAplctVO.setdBirth(this.decrypt(p_vEEduAplctVO.getdBirth())); return p_vEEduAplctVO; } @@ -132,6 +143,7 @@ public class EgovCryptoUtil { if (!"".equals(p_vEInstrDetailVO.getInstrNm())) p_vEInstrDetailVO.setInstrNm(this.encrypt(p_vEInstrDetailVO.getInstrNm())); if (!"".equals(p_vEInstrDetailVO.getPhone())) p_vEInstrDetailVO.setPhone(this.encrypt(p_vEInstrDetailVO.getPhone())); + if (!"".equals(p_vEInstrDetailVO.getEmail())) p_vEInstrDetailVO.setEmail(this.encrypt(p_vEInstrDetailVO.getEmail())); return p_vEInstrDetailVO; } @@ -141,6 +153,7 @@ public class EgovCryptoUtil { if (!"".equals(p_vEInstrDetailVO.getInstrNm())) p_vEInstrDetailVO.setInstrNm(this.decrypt(p_vEInstrDetailVO.getInstrNm())); if (!"".equals(p_vEInstrDetailVO.getPhone())) p_vEInstrDetailVO.setPhone(this.decrypt(p_vEInstrDetailVO.getPhone())); + if (!"".equals(p_vEInstrDetailVO.getEmail())) p_vEInstrDetailVO.setEmail(this.decrypt(p_vEInstrDetailVO.getEmail())); return p_vEInstrDetailVO; @@ -421,6 +434,9 @@ public class EgovCryptoUtil { public UserManageVO encryptUserManageVO(UserManageVO p_userManageVO){ if (!"".equals(p_userManageVO.getEmplyrNm())) p_userManageVO.setEmplyrNm(this.encrypt(p_userManageVO.getEmplyrNm())); + //if (!"".equals(p_userManageVO.getUserNm())) p_userManageVO.setUserNm(this.encrypt(p_userManageVO.getUserNm())); + if (!"".equals(p_userManageVO.getOffmTelno())) p_userManageVO.setOffmTelno(this.encrypt(p_userManageVO.getOffmTelno())); + if (!"".equals(p_userManageVO.getEmailAdres())) p_userManageVO.setEmailAdres(this.encrypt(p_userManageVO.getEmailAdres())); return p_userManageVO; } @@ -429,6 +445,27 @@ public class EgovCryptoUtil { public UserManageVO decryptUserManageVO(UserManageVO p_userManageVO){ if (!"".equals(p_userManageVO.getEmplyrNm())) p_userManageVO.setEmplyrNm(this.decrypt(p_userManageVO.getEmplyrNm())); + //if (!"".equals(p_userManageVO.getUserNm())) p_userManageVO.setUserNm(this.decrypt(p_userManageVO.getUserNm())); + if (!"".equals(p_userManageVO.getOffmTelno())) p_userManageVO.setOffmTelno(this.decrypt(p_userManageVO.getOffmTelno())); + if (!"".equals(p_userManageVO.getEmailAdres())) p_userManageVO.setEmailAdres(this.decrypt(p_userManageVO.getEmailAdres())); + + + return p_userManageVO; + } + + //UserManageVO - 복호화 - egovmap으로 받은 경우 처리 + public EgovMap decryptUserManageVO4EgovMap(EgovMap p_userManageVO){ + + //userManageVO.put("userNm", egovCryptoUtil.decrypt(userManageVO.get("userNm").toString())); + //userManageVO.put("emailAdres", egovCryptoUtil.decrypt(userManageVO.get("emailAdres").toString())); + //userManageVO.put("offmTelno", egovCryptoUtil.decrypt(userManageVO.get("offmTelno").toString())); + + + + if (!"".equals(p_userManageVO.get("userNm").toString())) p_userManageVO.put("userNm", this.decrypt(p_userManageVO.get("userNm").toString())); + //if (!"".equals(p_userManageVO.getUserNm())) p_userManageVO.setUserNm(this.decrypt(p_userManageVO.getUserNm())); + if (!"".equals(p_userManageVO.get("offmTelno").toString())) p_userManageVO.put("offmTelno", this.decrypt(p_userManageVO.get("offmTelno").toString())); + if (!"".equals(p_userManageVO.get("emailAdres").toString())) p_userManageVO.put("emailAdres", this.decrypt(p_userManageVO.get("emailAdres").toString())); return p_userManageVO; @@ -544,11 +581,15 @@ public class EgovCryptoUtil { //CndtnTrgtMngVO - 암호화 // 240108 담당검사 이름 추가 - public CndtnTrgtMngVO encryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){ - + public CndtnTrgtMngVO encryptCndtnTrgtMngVOInfo(CndtnTrgtMngVO p_cndtnTrgtInfoMngVO){ // if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm()) ) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getTrgtNm()) ) p_cndtnTrgtInfoMngVO.setTrgtNm(this.encrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.encrypt(p_cndtnTrgtInfoMngVO.getClphone().trim())); + + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getVntNmbr())) p_cndtnTrgtInfoMngVO.setVntNmbr(this.encrypt(p_cndtnTrgtInfoMngVO.getVntNmbr().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getdBirth())) p_cndtnTrgtInfoMngVO.setdBirth(this.encrypt(p_cndtnTrgtInfoMngVO.getdBirth().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getAddr())) p_cndtnTrgtInfoMngVO.setAddr(this.encrypt(p_cndtnTrgtInfoMngVO.getAddr().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getAddrDetail())) p_cndtnTrgtInfoMngVO.setAddrDetail(this.encrypt(p_cndtnTrgtInfoMngVO.getAddrDetail().trim())); //if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.encrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); return p_cndtnTrgtInfoMngVO; @@ -561,6 +602,11 @@ public class EgovCryptoUtil { // if (!"".equals(p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getTrgtNm())) p_cndtnTrgtInfoMngVO.setTrgtNm(this.decrypt(p_cndtnTrgtInfoMngVO.getTrgtNm().trim())); if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getClphone())) p_cndtnTrgtInfoMngVO.setClphone(this.decrypt(p_cndtnTrgtInfoMngVO.getClphone().trim())); + + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getVntNmbr())) p_cndtnTrgtInfoMngVO.setVntNmbr(this.decrypt(p_cndtnTrgtInfoMngVO.getVntNmbr().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getdBirth())) p_cndtnTrgtInfoMngVO.setdBirth(this.decrypt(p_cndtnTrgtInfoMngVO.getdBirth().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getAddr())) p_cndtnTrgtInfoMngVO.setAddr(this.decrypt(p_cndtnTrgtInfoMngVO.getAddr().trim())); + if (StringUtils.isNotEmpty( p_cndtnTrgtInfoMngVO.getAddrDetail())) p_cndtnTrgtInfoMngVO.setAddrDetail(this.decrypt(p_cndtnTrgtInfoMngVO.getAddrDetail().trim())); //if (!"".equals(p_cndtnTrgtInfoMngVO.getPrsctrNm())) p_cndtnTrgtInfoMngVO.setPrsctrNm(this.decrypt(p_cndtnTrgtInfoMngVO.getPrsctrNm())); return p_cndtnTrgtInfoMngVO; @@ -618,13 +664,9 @@ public class EgovCryptoUtil { try { LOGGER.debug("enc1-cryptoService.getCyptoAlgorithmKey()"); - //LOGGER.debug(cryptoService.getCyptoAlgorithmKey()); - //LOGGER.debug(cryptoService.getCyptoAlgorithmKey()); - //System.out.println("enc1-cryptoService.getCyptoAlgorithmKey()"); - //System.out.println(cryptoService.getCyptoAlgorithmKey()); - //System.out.println(cryptoService.getCyptoAlgorithmKey()); - //return cryptoService.encrypt(encrypt); // Handles URLEncoding. - return cryptoService.encryptNone(encrypt); // Does not handle URLEncoding. + //return cryptoService.encryptNone(encrypt); // Does not handle URLEncoding. + + return aes256Util.encrypt(encrypt); // Does not handle URLEncoding. } catch(IllegalArgumentException e) { LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); } catch (Exception e) { @@ -647,10 +689,10 @@ public class EgovCryptoUtil { //LOGGER.debug(cryptoService.getCyptoAlgorithmKey()); //System.out.println("decry2-cryptoService.getCyptoAlgorithmKey()"); //System.out.println(cryptoService.getCyptoAlgorithmKey()); - - + //return cryptoService.decrypt(decrypt); // Handles URLDecoding. - return cryptoService.decryptNone(decrypt); // Does not handle URLDecoding. + //return cryptoService.decryptNone(decrypt); // Does not handle URLDecoding. + return aes256Util.decrypt(decrypt); // Does not handle URLDecoding. } catch(IllegalArgumentException e) { LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); } catch (Exception e) { diff --git a/src/main/java/kcc/let/utl/sim/service/AES256Util.java b/src/main/java/kcc/let/utl/sim/service/AES256Util.java new file mode 100644 index 00000000..ea0e2936 --- /dev/null +++ b/src/main/java/kcc/let/utl/sim/service/AES256Util.java @@ -0,0 +1,72 @@ +package kcc.let.utl.sim.service; + +import java.util.Base64; + +import javax.crypto.Cipher; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; + +/** + * Base64인코딩/디코딩 방식을 이용한 데이터를 암호화/복호화하는 Business Interface class + * @author 공통서비스개발팀 박지욱 + * @since 2009.01.19 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.01.19  박지욱          최초 생성
+ *   2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
+ *
+ * 
+ */ +public class AES256Util { + + private static final String ALGORITHM = "AES/CBC/PKCS5Padding"; + private static final String CHARSET = "UTF-8"; + + // 32바이트(256bit) 키 + private final String secretKey; + + // 16바이트 IV (고정하면 보안 취약하므로 운영환경에서는 랜덤으로 생성해서 함께 저장 권장) + private final String iv; + + public AES256Util(String secretKey, String iv) { + if (secretKey.length() != 32 || iv.length() != 16) { + throw new IllegalArgumentException("Key must be 32 bytes and IV must be 16 bytes."); + } + + System.out.println("secretKey--------------------------------------------------------------------------------"); + System.out.println(secretKey); + System.out.println(iv); + + this.secretKey = secretKey; + this.iv = iv; + } + + // 암호화 + public String encrypt(String plainText) throws Exception { + Cipher cipher = Cipher.getInstance(ALGORITHM); + SecretKeySpec keySpec = new SecretKeySpec(secretKey.getBytes(CHARSET), "AES"); + IvParameterSpec ivSpec = new IvParameterSpec(iv.getBytes(CHARSET)); + + cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec); + byte[] encrypted = cipher.doFinal(plainText.getBytes(CHARSET)); + return Base64.getEncoder().encodeToString(encrypted); + } + + // 복호화 + public String decrypt(String cipherText) throws Exception { + Cipher cipher = Cipher.getInstance(ALGORITHM); + SecretKeySpec keySpec = new SecretKeySpec(secretKey.getBytes(CHARSET), "AES"); + IvParameterSpec ivSpec = new IvParameterSpec(iv.getBytes(CHARSET)); + + cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); + byte[] decodedBytes = Base64.getDecoder().decode(cipherText); + byte[] decrypted = cipher.doFinal(decodedBytes); + return new String(decrypted, CHARSET); + } +} \ No newline at end of file diff --git a/src/main/java/kcc/let/utl/sim/service/EgovNewPasswordUtil.java b/src/main/java/kcc/let/utl/sim/service/EgovNewPasswordUtil.java new file mode 100644 index 00000000..883aeecd --- /dev/null +++ b/src/main/java/kcc/let/utl/sim/service/EgovNewPasswordUtil.java @@ -0,0 +1,42 @@ +package kcc.let.utl.sim.service; + +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; + +/** + * Base64인코딩/디코딩 방식을 이용한 데이터를 암호화/복호화하는 Business Interface class + * @author 공통서비스개발팀 박지욱 + * @since 2009.01.19 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.01.19  박지욱          최초 생성
+ *   2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
+ *
+ * 
+ */ +public class EgovNewPasswordUtil { + + //private static final Logger LOGGER = LoggerFactory.getLogger(EgovNewPasswordUtil.class); + + // 파일구분자 + //static final char FILE_SEPARATOR = File.separatorChar; + // 버퍼사이즈 + //static final int BUFFER_SIZE = 1024; + + private static final BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); + + // 비밀번호 해시 + public static String hashPassword(String rawPassword) { + return encoder.encode(rawPassword); + } + + // 비밀번호 검증 + public static boolean matches(String rawPassword, String encodedPassword) { + return encoder.matches(rawPassword, encodedPassword); + } +} \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals.properties b/src/main/resources/egovframework/egovProps/globals.properties index 85d222c0..7b248d10 100644 --- a/src/main/resources/egovframework/egovProps/globals.properties +++ b/src/main/resources/egovframework/egovProps/globals.properties @@ -13,6 +13,9 @@ # 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 #----------------------------------------------------------------------- +crypto.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6 +crypto.iv=1234567890ABCDEF + # \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) Globals.OsType = WINDOWS diff --git a/src/main/resources/egovframework/egovProps/globals_dev.properties b/src/main/resources/egovframework/egovProps/globals_dev.properties index 7dfd3011..6f72b540 100644 --- a/src/main/resources/egovframework/egovProps/globals_dev.properties +++ b/src/main/resources/egovframework/egovProps/globals_dev.properties @@ -13,6 +13,9 @@ # 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 #----------------------------------------------------------------------- +crypto.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6 +crypto.iv=1234567890ABCDEF + # \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) Globals.OsType = WINDOWS diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 8e6cbc46..1ee74565 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -13,6 +13,9 @@ # 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 #----------------------------------------------------------------------- +crypto.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6 +crypto.iv=1234567890ABCDEF + # \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) Globals.OsType = WINDOWS diff --git a/src/main/resources/egovframework/egovProps/globals_svr.properties b/src/main/resources/egovframework/egovProps/globals_svr.properties index 7aa4d17c..d9072573 100644 --- a/src/main/resources/egovframework/egovProps/globals_svr.properties +++ b/src/main/resources/egovframework/egovProps/globals_svr.properties @@ -1,167 +1,170 @@ -#----------------------------------------------------------------------- -# -# globals.properties : \uc2dc\uc2a4\ud15c -# -#----------------------------------------------------------------------- -# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. -# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 -# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 -# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) -# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) -# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' -# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 -# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 -#----------------------------------------------------------------------- - -# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) -Globals.OsType = WINDOWS - -# G4C \uc5f0\uacb0\uc6a9 IP (localhost) -Globals.LocalIp = 127.0.0.1 - -# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 -Globals.DbType = tibero -# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 -Globals.UserName= EDUSCE -Globals.Password= edusce#23 - -Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver -#\ub85c\uceec DB -#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero -#\uc6b4\uc601 \uac1c\ubc1cDB - \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ud6c4 \uc6b4\uc601 DB\ub85c \ubcc0\uacbd \uc608\uc815 -#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb -#\uc6b4\uc601 DB -Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb - - -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) -Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe -Globals.SMSDB.UserName=KCCADR -Globals.SMSDB.Password=kccadr -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) -#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g -#Globals.SMSDB.UserName=smsmanager -#Globals.SMSDB.Password=eksanswk2014 - -Globals.SMSDB.SendTelNo=02-2669-0042 -Globals.SMSDB.TrId=kccadr - -# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 -Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail -Globals.KccMail.api_key=#!@mail5455 -Globals.KccMail.sender=adr@copyright.or.kr -Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc - - -#SSO \uc811\uc18d\uc815\ubcf4 -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do -Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -Globals.sso.scope=http://sso.copyright.or.kr -Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do -Globals.sso.returnSiteCode=SITE011 - -#\uc2e4\uc11c\ubc84 -#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do -#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -#Globals.sso.scope=http://sso.copyright.or.kr -#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do -#Globals.sso.returnSiteCode=SITE011 - -#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do -Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do -Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do -#\uc2e4\uc11c\ubc84 -#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do -#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do -#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do - -# MainPage Setting(admin) -Globals.MainPage = /cmm/main/mainPage.do -#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 -#Globals.ckeditorUploadDir=/home/file/ckeditor/ -Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ -#TEST SERVER -Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ -Globals.Solr.url=http://localhost:8983/solr - -#SNS \ub85c\uadf8\uc778 KEY \uac12 -#ITN \ub124\uc774\ubc84 -Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J -Globals.kcc.naver.clientSecret=kwiEmpkLg5 -Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do -#ITN \uce74\uce74\uc624 -Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 -Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do - -#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 -Globals.homepage.siteId=kccadr -Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c - -#pdf-url -##=====================================1.local(http://192.168.0.34:7080)============================================================= -##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.serverUrl=192.168.0.200 - - -##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.apiUrl=http://192.168.0.34:7080 - - -##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c -##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.filepath.out=file:/z:/out/ - - -##tomcat upload \uacbd\ub85c -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath=y:/ - -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath.out=y:/out/ - - -##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 -#Globals.pdf.webpath=/pdf/out/ - -##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -Globals.pdf.serverUrl=192.168.0.200 -Globals.pdf.apiUrl=http://219.240.88.15:8091 -Globals.pdf.filepath.out=file:/z:/out/ -Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -Globals.pdf.webpath=/pdf/out/ - -##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -#Globals.pdf.serverUrl=192.168.39.147 -#Globals.pdf.apiUrl=http://192.168.39.143:8080 -#Globals.pdf.filepath.out=file:/z:/out/ -#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -#Globals.pdf.webpath=/pdf/out/ - -#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 -#\ub85c\uceec -#Globals.prod.islocal=local -#\uc6b4\uc601 \uac1c\ubc1c -#Globals.prod.islocal=dev -#\uc6b4\uc601 -Globals.prod.islocal=real - - -#\ub300\uc6a9\ub7c9 innorix license -Globals.Innorix.License=svr -Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ - -#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf +#----------------------------------------------------------------------- +# +# globals.properties : \uc2dc\uc2a4\ud15c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +crypto.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6 +crypto.iv=1234567890ABCDEF + +# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) +Globals.OsType = WINDOWS + +# G4C \uc5f0\uacb0\uc6a9 IP (localhost) +Globals.LocalIp = 127.0.0.1 + +# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 +Globals.DbType = tibero +# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 +Globals.UserName= EDUSCE +Globals.Password= edusce#23 + +Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver +#\ub85c\uceec DB +#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero +#\uc6b4\uc601 \uac1c\ubc1cDB - \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ud6c4 \uc6b4\uc601 DB\ub85c \ubcc0\uacbd \uc608\uc815 +#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb +#\uc6b4\uc601 DB +Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb + + +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) +Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe +Globals.SMSDB.UserName=KCCADR +Globals.SMSDB.Password=kccadr +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) +#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g +#Globals.SMSDB.UserName=smsmanager +#Globals.SMSDB.Password=eksanswk2014 + +Globals.SMSDB.SendTelNo=02-2669-0042 +Globals.SMSDB.TrId=kccadr + +# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 +Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail +Globals.KccMail.api_key=#!@mail5455 +Globals.KccMail.sender=adr@copyright.or.kr +Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc + + +#SSO \uc811\uc18d\uc815\ubcf4 +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do +Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +Globals.sso.scope=http://sso.copyright.or.kr +Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do +Globals.sso.returnSiteCode=SITE011 + +#\uc2e4\uc11c\ubc84 +#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do +#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +#Globals.sso.scope=http://sso.copyright.or.kr +#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do +#Globals.sso.returnSiteCode=SITE011 + +#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do +Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do +Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do +#\uc2e4\uc11c\ubc84 +#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do +#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do +#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do + +# MainPage Setting(admin) +Globals.MainPage = /cmm/main/mainPage.do +#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 +#Globals.ckeditorUploadDir=/home/file/ckeditor/ +Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +#TEST SERVER +Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ +Globals.Solr.url=http://localhost:8983/solr + +#SNS \ub85c\uadf8\uc778 KEY \uac12 +#ITN \ub124\uc774\ubc84 +Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J +Globals.kcc.naver.clientSecret=kwiEmpkLg5 +Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do +#ITN \uce74\uce74\uc624 +Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 +Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do + +#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 +Globals.homepage.siteId=kccadr +Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c + +#pdf-url +##=====================================1.local(http://192.168.0.34:7080)============================================================= +##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.serverUrl=192.168.0.200 + + +##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.apiUrl=http://192.168.0.34:7080 + + +##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c +##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.filepath.out=file:/z:/out/ + + +##tomcat upload \uacbd\ub85c +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath=y:/ + +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath.out=y:/out/ + + +##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 +#Globals.pdf.webpath=/pdf/out/ + +##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +Globals.pdf.serverUrl=192.168.0.200 +Globals.pdf.apiUrl=http://219.240.88.15:8091 +Globals.pdf.filepath.out=file:/z:/out/ +Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +Globals.pdf.webpath=/pdf/out/ + +##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +#Globals.pdf.serverUrl=192.168.39.147 +#Globals.pdf.apiUrl=http://192.168.39.143:8080 +#Globals.pdf.filepath.out=file:/z:/out/ +#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +#Globals.pdf.webpath=/pdf/out/ + +#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 +#\ub85c\uceec +#Globals.prod.islocal=local +#\uc6b4\uc601 \uac1c\ubc1c +#Globals.prod.islocal=dev +#\uc6b4\uc601 +Globals.prod.islocal=real + + +#\ub300\uc6a9\ub7c9 innorix license +Globals.Innorix.License=svr +Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ + +#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf Globals.edu.mail.template=/template/offeduMain.html \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_tLocal.properties b/src/main/resources/egovframework/egovProps/globals_tLocal.properties index 76aa7f92..e8ac2ae1 100644 --- a/src/main/resources/egovframework/egovProps/globals_tLocal.properties +++ b/src/main/resources/egovframework/egovProps/globals_tLocal.properties @@ -13,6 +13,9 @@ # 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 #----------------------------------------------------------------------- +crypto.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6 +crypto.iv=1234567890ABCDEF + # \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) Globals.OsType = WINDOWS diff --git a/src/main/resources/egovframework/spring/com/context-crypto.xml b/src/main/resources/egovframework/spring/com/context-crypto.xml index aef09c6b..5d12edf9 100644 --- a/src/main/resources/egovframework/spring/com/context-crypto.xml +++ b/src/main/resources/egovframework/spring/com/context-crypto.xml @@ -1,32 +1,37 @@ - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml index d3fcb11c..3a4412ed 100644 --- a/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Postgresql.xml @@ -75,6 +75,49 @@ + + + /* userManageDAO.selectPassword_S */ + diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.jsp index 90bffbea..0bc492d0 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.jsp @@ -200,16 +200,16 @@
    -
  • -
  • -
  • +
  • +
  • +
-

교육확정관리목록

+

확정과정관리

  • diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp index cb8a78af..264deac8 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.jsp @@ -212,22 +212,22 @@
      -
    • +
    • <%--
    • --%> -
    • -
    • +
    • +
    -

    과정신청기간관리목록

    +

    과정신청기간관리

    • 조건부기소유예관리

    • -
    • 과정신청기간관리목록
    • +
    • 과정신청기간관리
    diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.jsp index 14881a11..a15e8ac3 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.jsp @@ -53,6 +53,7 @@ listForm.pageIndex.value = pageNo ; listForm.searchKeyword.value = $('#searchKeyword').val(); listForm.action = ""; + listForm.action = ""; listForm.submit(); } @@ -176,22 +177,24 @@
      -
    • -
    • -
    • + +
    • +
    • +
    • +
    -

    과정관리목록

    +

    과정관리

    • 조건부기소유예관리

    • -
    • 과정관리목록
    • +
    • 과정관리