2025-09-10 프로젝트 암호화 적용

This commit is contained in:
myname 2025-09-10 09:47:02 +09:00
parent 499ac7ffeb
commit dcf9c340c2
24 changed files with 598 additions and 251 deletions

View File

@ -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");
}

View File

@ -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!!!");

View File

@ -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);
}

View File

@ -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);

View File

@ -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 수량을 조회한다.

View File

@ -89,6 +89,8 @@ public interface EgovUserManageService {
* @throws Exception
*/
public void updatePassword(UserManageVO userManageVO) throws Exception;
public void updatePasswordR(UserManageVO userManageVO) throws Exception;
/**
* 사용자가 비밀번호를 기억하지 못할 비밀번호를 찾을 있도록

View File

@ -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);

View File

@ -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);
}
/**
* 업무사용자가 비밀번호를 기억하지 못할 비밀번호를 찾을 있도록

View File

@ -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<resultList.size();i++) {
EgovMap userManageVO = (EgovMap) resultList.get(i);
egovCryptoUtil.decryptUserManageVO4EgovMap(userManageVO);
//decryptUserManageVO4EgovMap
//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()));
//resultList.get(i)
}
model.addAttribute("resultList", resultList);
//paginationInfo.setTotalRecordCount( resultList.size()> 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);
//세션으로 인증넣어줌

View File

@ -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) {

View File

@ -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
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.01.19 박지욱 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
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);
}
}

View File

@ -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
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.01.19 박지욱 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
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);
}
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,32 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd">
<!--
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd">
-->
<!--
initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false)
crypto : 계정 암호화 여부(설정값 : true, false)
algorithm : 계정 암호화 알고리즘
algorithmKey : 계정 암호화키 키
cryptoBlockSize : 계정 암호화키 블록사이즈
cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties'
-->
<egov-crypto:config id="egovCryptoConfig"
initial="false"
crypto="false"
algorithm="SHA-256"
algorithmKey="egovframe"
algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd">
<!--
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd">
-->
<!--
initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false)
crypto : 계정 암호화 여부(설정값 : true, false)
algorithm : 계정 암호화 알고리즘
algorithmKey : 계정 암호화키 키
cryptoBlockSize : 계정 암호화키 블록사이즈
cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties'
-->
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="AES/CBC/PKCS5Padding"
algorithmKey="0123456789abcdef0123456789abcdef"
algorithmKeyHash=""
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>
<bean id="aes256Util" class="kcc.let.utl.sim.service.AES256Util">
<constructor-arg value="${crypto.key}" />
<constructor-arg value="${crypto.iv}" />
</bean>
</beans>

View File

@ -75,6 +75,49 @@
</isNotNull>
</select>
<!-- 비밀번호비교를 위한 데이터 가져오기 용 -->
<select id="loginDAO.actionLoginNew" resultMap="login">
/*loginDAO.actionLogin*/
<!-- 일반회원 -->
<isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, '' AS userWork
FROM lettngnrlmber a
WHERE mber_id = #id#
</isEqual>
<!-- 업무사용자 -->
<isEqual property="userSe" compareValue="USR">
SELECT EMPLYR_ID AS id
, USER_NM AS name
, PASSWORD AS password
, IHIDNUM AS ihidNum
, EMAIL_ADRES AS email
, 'USR' AS userSe
, ORGNZT_ID AS orgnztId
, ESNTL_ID AS uniqId
, PASS_MISS AS passMiss
, EMPLYR_STTUS_CODE AS emplyrSttusCode
, mbtlnum AS membCelnum
, '' AS membBirth
, user_work AS userWork
FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
</isEqual>
</isNotNull>
</select>
<!-- 개발자 아이디 선택용 -->
<select id="loginDAO.actionLoginDev" resultMap="login">
/*loginDAO.actionLoginDev*/

View File

@ -567,7 +567,16 @@
WHERE ESNTL_ID = #uniqId#
]]>
</update>
<update id="userManageDAO.updatePassword_R">
<![CDATA[
UPDATE LETTNEMPLYRINFO
SET
PASSWORD = #password#
WHERE EMPLYR_ID = #uniqId#
]]>
</update>
<select id="userManageDAO.selectPassword_S" resultClass="userVO">
/* userManageDAO.selectPassword_S */
<![CDATA[

View File

@ -249,6 +249,7 @@ function userListExcelDownload(){
</td>
<td>
<c:out value="${result.fxNum}"/>
<c:out value="${result.emailAdres}"/>
</td>
<td>
<c:choose>

View File

@ -200,16 +200,16 @@
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육확정관리목록</h2>
<h2>확정과정관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>

View File

@ -212,22 +212,22 @@
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" >과정신청기간관리목록</button></li>
<li class="tab active"><button type="button" >과정신청기간관리</button></li>
<%-- <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> --%>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>과정신청기간관리목록</h2>
<h2>과정신청기간관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">과정신청기간관리목록</span></li>
<li><span class="cur_nav">과정신청기간관리</span></li>
</ul>
</div>
<!-- //cont_tit -->

View File

@ -53,6 +53,7 @@
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do'/>";
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do'/>";
listForm.submit();
}
@ -176,22 +177,24 @@
<!--tap 추가-->
<ul class="tab_wrap">
<!-- <li class="tab active"><button type="button" >과정신청기간관리목록</button></li> -->
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>과정관리목록</h2>
<h2>과정관리</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">과정관리목록</span></li>
<li><span class="cur_nav">과정관리</span></li>
</ul>
</div>
<!-- //cont_tit -->