Merge branch 'master_tolag3'
This commit is contained in:
commit
9932a1eb0e
@ -56,9 +56,6 @@ public class EgovFileDownloadController {
|
|||||||
@Resource(name = "EgovFileMngService")
|
@Resource(name = "EgovFileMngService")
|
||||||
private EgovFileMngService fileService;
|
private EgovFileMngService fileService;
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.pdf.makepath.out']}")
|
|
||||||
private String pdfMakepathOut; //c:/usr/local/tomcat/file/sht/out
|
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -231,7 +228,7 @@ public class EgovFileDownloadController {
|
|||||||
String s_path = (String) commandMap.get("path");
|
String s_path = (String) commandMap.get("path");
|
||||||
String s_file = (String) commandMap.get("file");
|
String s_file = (String) commandMap.get("file");
|
||||||
|
|
||||||
File uFile = new File(pdfMakepathOut + "/" + s_path, s_file);
|
File uFile = new File("/usr/local/tomcat/file/sht/out/" + s_path, s_file);
|
||||||
|
|
||||||
String mimetype = "application/x-msdownload";
|
String mimetype = "application/x-msdownload";
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -39,9 +39,6 @@ public class pdfViewerSampleController {
|
|||||||
/** 로그설정 */
|
/** 로그설정 */
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(pdfViewerSampleController.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(pdfViewerSampleController.class);
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.pdf.webpath']}")
|
|
||||||
private String pdfWebpath; // /pdf/out/
|
|
||||||
|
|
||||||
@Resource(name="adjstIncidentService")
|
@Resource(name="adjstIncidentService")
|
||||||
private AdjstIncidentService adjstIncidentService;
|
private AdjstIncidentService adjstIncidentService;
|
||||||
|
|
||||||
@ -83,11 +80,11 @@ public class pdfViewerSampleController {
|
|||||||
|
|
||||||
//compare session & register_userid
|
//compare session & register_userid
|
||||||
if (loginVO.getUniqId().equals(master.getFrstRegisterId())) {
|
if (loginVO.getUniqId().equals(master.getFrstRegisterId())) {
|
||||||
model.addAttribute("file", pdfWebpath + s_webFile + "/pdf/"+s_time_dir+"/"+s_bookmark_name);
|
model.addAttribute("file", "/pdf/out/" + s_webFile + "/pdf/"+s_time_dir+"/"+s_bookmark_name);
|
||||||
|
|
||||||
}else {
|
}else {
|
||||||
//model.addAttribute("file", "");
|
//model.addAttribute("file", "");
|
||||||
model.addAttribute("file", pdfWebpath + s_webFile + "/pdf/"+s_time_dir+"/"+s_bookmark_name);
|
model.addAttribute("file", "/pdf/out/" + s_webFile + "/pdf/"+s_time_dir+"/"+s_bookmark_name);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,48 +0,0 @@
|
|||||||
package kcc.let.uat.uia.web;
|
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Component
|
|
||||||
public class SsoAgentInfo {
|
|
||||||
|
|
||||||
//SSO agent 관련 설정
|
|
||||||
|
|
||||||
private static String ssoUri;
|
|
||||||
|
|
||||||
private static String clientId;
|
|
||||||
|
|
||||||
private static String clientSecret;
|
|
||||||
|
|
||||||
private static String scope;
|
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.sso.ssoUri']}")
|
|
||||||
public void setSsoUri(String ssoUri) {
|
|
||||||
SsoAgentInfo.ssoUri = ssoUri;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.clientId']}")
|
|
||||||
public void setClientId(String clientId) {
|
|
||||||
SsoAgentInfo.clientId = clientId;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.clientSecret']}")
|
|
||||||
public void setClientSecret(String clientSecret) {
|
|
||||||
SsoAgentInfo.clientSecret = clientSecret;
|
|
||||||
}
|
|
||||||
@Value("#{globalSettings['Globals.sso.scope']}")
|
|
||||||
public void setScope(String scope) {
|
|
||||||
SsoAgentInfo.scope = scope;
|
|
||||||
}
|
|
||||||
public String getSsoUri() {
|
|
||||||
return ssoUri;
|
|
||||||
}
|
|
||||||
public String getClientId() {
|
|
||||||
return clientId;
|
|
||||||
}
|
|
||||||
public String getClientSecret() {
|
|
||||||
return clientSecret;
|
|
||||||
}
|
|
||||||
public String getScope() {
|
|
||||||
return scope;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,156 +0,0 @@
|
|||||||
package kcc.let.uat.uia.web;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.bandi.oauth.BandiSSOAgent;
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
|
||||||
|
|
||||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
|
||||||
|
|
||||||
public class SsoLogin {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
|
|
||||||
|
|
||||||
//실서버 적용시 변경
|
|
||||||
// agent 관련 설정
|
|
||||||
/*private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
|
|
||||||
private static String clientId = "해당 시스템의 클라이언트 아이디";
|
|
||||||
private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
|
|
||||||
private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
|
|
||||||
private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
|
|
||||||
private static String scope = "http://sso.copyright.or.kr"; // 고정
|
|
||||||
*/
|
|
||||||
// 1 : id/pw 로그인, 2 : hp/pw 로그인, 3 : seq/ci 로그인
|
|
||||||
private static String type = "1";
|
|
||||||
|
|
||||||
public static String SsoLogin(String Id, String Password, HttpServletRequest request) throws Exception {
|
|
||||||
SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
|
|
||||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
|
||||||
/*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
|
|
||||||
BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
|
||||||
|
|
||||||
// 사용자 접속 ip
|
|
||||||
// agent.getLocalServerIp(request);
|
|
||||||
String client_ip = "127.0.0.1";
|
|
||||||
|
|
||||||
// https://devoneid.copyright.or.kr 에서 가입함 ID/PW 입력
|
|
||||||
/*String user_id = "itn0801@gmail.com";*/
|
|
||||||
String user_id = Id;
|
|
||||||
/*String user_pwd = "itntest123$";*/
|
|
||||||
String user_pwd = Password;
|
|
||||||
|
|
||||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
|
||||||
|
|
||||||
// SSO 로그인 연계 "accessToken 함수 요청" 및 "accessToken 함수 결과" 참조
|
|
||||||
HashMap<String, String> login = agent.accessToken(user_id, user_pwd, client_ip, type);
|
|
||||||
|
|
||||||
/*에러코드*/
|
|
||||||
String error = login.get("error");
|
|
||||||
/*에러 메시지*/
|
|
||||||
String error_message = login.get("error_message");
|
|
||||||
|
|
||||||
/*에러 콘솔 로거*/
|
|
||||||
LOGGER.debug("error : ", error);
|
|
||||||
LOGGER.debug("error_message : ", error_message);
|
|
||||||
// try {
|
|
||||||
if(login.get("error").equals("0000") || login.get("error").equals("VL-3130")) {
|
|
||||||
String access_token = login.get("access_token");
|
|
||||||
String refresh_token = login.get("refresh_token");
|
|
||||||
|
|
||||||
/*쿠키유지시간*/
|
|
||||||
String expires_in = login.get("expires_in");
|
|
||||||
|
|
||||||
// userInfo의 type은 무조건 1을 입력한다.
|
|
||||||
// SSO 로그인 연계 "userInfo 함수 요청" 및 "userInfo 함수 결과" 참조
|
|
||||||
HashMap<String, String> userInfo = agent.userInfo(access_token, client_ip, type);
|
|
||||||
|
|
||||||
//법인회원 정보 처리
|
|
||||||
if(userInfo.get("corpUserInfo") != null) {
|
|
||||||
List<Map<String, String>> info = new Gson().fromJson(String.valueOf(userInfo.get("corpUserInfo")),
|
|
||||||
new TypeToken<List<Map<String, Object>>>(){}.getType());
|
|
||||||
for (Map<String, String> userInfo2 : info) {
|
|
||||||
userInfo.put("compAddr", userInfo2.get("compAddr"));
|
|
||||||
userInfo.put("mangCelnum", userInfo2.get("mangCelnum"));
|
|
||||||
userInfo.put("membEmail", userInfo2.get("membEmail"));
|
|
||||||
userInfo.put("membType", userInfo2.get("membType"));
|
|
||||||
userInfo.put("membDivis", userInfo2.get("membDivis"));
|
|
||||||
userInfo.put("compZipcd", userInfo2.get("compZipcd"));
|
|
||||||
userInfo.put("compDetAddr", userInfo2.get("compDetAddr"));
|
|
||||||
userInfo.put("membBuisnRegnum", userInfo2.get("membBuisnRegnum"));
|
|
||||||
userInfo.put("membCorpnum", userInfo2.get("membCorpnum"));
|
|
||||||
userInfo.put("mangName", userInfo2.get("mangName"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
userInfo.remove("corpUserInfo");
|
|
||||||
|
|
||||||
//map -> vo 매칭
|
|
||||||
ObjectMapper test = new ObjectMapper();
|
|
||||||
ssoLoginVO = test.convertValue(userInfo, SsoLoginVO.class);
|
|
||||||
|
|
||||||
//통합회원 SSO연동 유효성 체크를 위한 토큰값 set
|
|
||||||
ssoLoginVO.setAccess_token(access_token);
|
|
||||||
ssoLoginVO.setRefresh_token(refresh_token);
|
|
||||||
|
|
||||||
if(userInfo.get("error").equals("0000")) {
|
|
||||||
// "userInfo 함수 결과"의 필드를 기준으로 맵핑
|
|
||||||
/*Object[] keys = (Object[]) userInfo.keySet().toArray();
|
|
||||||
for(int i=0;i<userInfo.size();i++) {
|
|
||||||
System.out.println("["+keys[i]+"] "+userInfo.get(keys[i]));
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
// 세션에 access_token, refresh_token 저장
|
|
||||||
// 통합회원 연동시 및 유효성 검증을 위해 필요
|
|
||||||
|
|
||||||
/*SsoLoginVO생성 해서 SsoLoginVo를 세션에 저장*/
|
|
||||||
/* 컨트롤러에 미리 선언 -> HttpServletRequest request*/
|
|
||||||
HttpSession session = request.getSession();
|
|
||||||
session.setMaxInactiveInterval(Integer.parseInt(expires_in));
|
|
||||||
//SSOLoginVO세션 생성
|
|
||||||
ssoLoginVO.setOtherUser("N");
|
|
||||||
|
|
||||||
session.setAttribute("SSOLoginVO", ssoLoginVO);
|
|
||||||
|
|
||||||
// **중요(필요시)
|
|
||||||
// 연동 완료시 저장한 개별사이트의 통함회원 아이디와 SSO로그인시 취득한 통합회원 아이디가 다른경우에는 개별사이트의 통합회원 아이디를 SSO로그인시 취득한 통합외원 아이디로 갱신 필요
|
|
||||||
|
|
||||||
return "sucess";
|
|
||||||
} else {
|
|
||||||
// 사용자 정보 조회 시 오류
|
|
||||||
System.out.println("[getUserInfo error] "+userInfo.get("error"));
|
|
||||||
System.out.println("[getUserInfo error_message] "+userInfo.get("error_message"));
|
|
||||||
|
|
||||||
return "fail";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 로그인 실패
|
|
||||||
// 사용자 정보 조회 시 오류
|
|
||||||
System.out.println("[login error] "+login.get("error"));
|
|
||||||
System.out.println("[login error_message] "+login.get("error_message"));
|
|
||||||
|
|
||||||
return "fail";
|
|
||||||
}
|
|
||||||
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// e.getStackTrace();
|
|
||||||
// throw new BaseException("시퀀스관리 조회 오류") ;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return "sucess";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,135 +0,0 @@
|
|||||||
package kcc.let.uat.uia.web;
|
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.codehaus.jackson.map.ObjectMapper;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.bandi.oauth.BandiSSOAgent;
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.google.gson.reflect.TypeToken;
|
|
||||||
|
|
||||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
|
||||||
|
|
||||||
public class SsoTokenLogin {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
|
|
||||||
|
|
||||||
/*//실서버 적용시 변경
|
|
||||||
// agent 관련 설정
|
|
||||||
private static String ssoUri = "https://devsso.copyright.or.kr/oauth2/token.do"; // 개발서버 URL
|
|
||||||
private static String clientId = "해당 시스템의 클라이언트 아이디";
|
|
||||||
private static String clientId = "30354835c3684ff79e7fb1bfd3a768f6";
|
|
||||||
private static String clientSecret = "해당 시스템의 클라이언트 시크릿";
|
|
||||||
private static String clientSecret = "1ueil5ee05wr0t1gjy1ppt212";
|
|
||||||
private static String scope = "http://sso.copyright.or.kr"; // 고정
|
|
||||||
*/
|
|
||||||
// 1 : id/pw 로그인, 2 : hp/pw 로그인, 3 : seq/ci 로그인
|
|
||||||
private static String type = "1";
|
|
||||||
|
|
||||||
public static String SsoTokenLogin(String access_token, String refresh_token, HttpServletRequest request) throws Exception {
|
|
||||||
SsoAgentInfo ssoagentinfo = new SsoAgentInfo();
|
|
||||||
// SSO 로그인 연계 "BandiSSOAgent 생성" 참조
|
|
||||||
/*BandiSSOAgent agent = new BandiSSOAgent(ssoUri, clientId, clientSecret, scope);*/
|
|
||||||
BandiSSOAgent agent = new BandiSSOAgent(ssoagentinfo.getSsoUri(), ssoagentinfo.getClientId(), ssoagentinfo.getClientSecret(), ssoagentinfo.getScope());
|
|
||||||
|
|
||||||
// 사용자 접속 ip
|
|
||||||
// agent.getLocalServerIp(request);
|
|
||||||
String client_ip = "127.0.0.1";
|
|
||||||
|
|
||||||
SsoLoginVO ssoLoginVO = new SsoLoginVO();
|
|
||||||
|
|
||||||
// try {
|
|
||||||
HashMap<String, String> tokenValid = agent.tokenValid(access_token, client_ip);
|
|
||||||
if(tokenValid.get("error").equals("0000")) {
|
|
||||||
/*쿠키유지시간*/
|
|
||||||
// String expires_in = login.get("expires_in");
|
|
||||||
|
|
||||||
// userInfo의 type은 무조건 1을 입력한다.
|
|
||||||
// SSO 로그인 연계 "userInfo 함수 요청" 및 "userInfo 함수 결과" 참조
|
|
||||||
HashMap<String, String> userInfo = agent.userInfo(access_token, client_ip, type);
|
|
||||||
|
|
||||||
//법인회원 정보 처리
|
|
||||||
if(userInfo.get("corpUserInfo") != null) {
|
|
||||||
List<Map<String, String>> info = new Gson().fromJson(String.valueOf(userInfo.get("corpUserInfo")),
|
|
||||||
new TypeToken<List<Map<String, Object>>>(){}.getType());
|
|
||||||
for (Map<String, String> userInfo2 : info) {
|
|
||||||
userInfo.put("compAddr", userInfo2.get("compAddr"));
|
|
||||||
userInfo.put("mangCelnum", userInfo2.get("mangCelnum"));
|
|
||||||
userInfo.put("membEmail", userInfo2.get("membEmail"));
|
|
||||||
userInfo.put("membType", userInfo2.get("membType"));
|
|
||||||
userInfo.put("membDivis", userInfo2.get("membDivis"));
|
|
||||||
userInfo.put("compZipcd", userInfo2.get("compZipcd"));
|
|
||||||
userInfo.put("compDetAddr", userInfo2.get("compDetAddr"));
|
|
||||||
userInfo.put("membBuisnRegnum", userInfo2.get("membBuisnRegnum"));
|
|
||||||
userInfo.put("membCorpnum", userInfo2.get("membCorpnum"));
|
|
||||||
userInfo.put("mangName", userInfo2.get("mangName"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
userInfo.remove("corpUserInfo");
|
|
||||||
|
|
||||||
//map -> vo 매칭
|
|
||||||
ObjectMapper test = new ObjectMapper();
|
|
||||||
ssoLoginVO = test.convertValue(userInfo, SsoLoginVO.class);
|
|
||||||
|
|
||||||
//통합회원 SSO연동 유효성 체크를 위한 토큰값 set
|
|
||||||
ssoLoginVO.setAccess_token(access_token);
|
|
||||||
ssoLoginVO.setRefresh_token(refresh_token);
|
|
||||||
|
|
||||||
if(userInfo.get("error").equals("0000")) {
|
|
||||||
// "userInfo 함수 결과"의 필드를 기준으로 맵핑
|
|
||||||
Object[] keys = (Object[]) userInfo.keySet().toArray();
|
|
||||||
for(int i=0;i<userInfo.size();i++) {
|
|
||||||
System.out.println("["+keys+"] "+userInfo.get(keys[i]));
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 세션에 access_token, refresh_token 저장
|
|
||||||
// 통합회원 연동시 및 유효성 검증을 위해 필요
|
|
||||||
|
|
||||||
/*SsoLoginVO생성 해서 SsoLoginVo를 세션에 저장*/
|
|
||||||
/* 컨트롤러에 미리 선언 -> HttpServletRequest request*/
|
|
||||||
HttpSession session = request.getSession();
|
|
||||||
session.setMaxInactiveInterval(Integer.parseInt("7200"));
|
|
||||||
//SSOLoginVO세션 생성
|
|
||||||
ssoLoginVO.setOtherUser("N");
|
|
||||||
|
|
||||||
session.setAttribute("SSOLoginVO", ssoLoginVO);
|
|
||||||
|
|
||||||
// **중요(필요시)
|
|
||||||
// 연동 완료시 저장한 개별사이트의 통함회원 아이디와 SSO로그인시 취득한 통합회원 아이디가 다른경우에는 개별사이트의 통합회원 아이디를 SSO로그인시 취득한 통합외원 아이디로 갱신 필요
|
|
||||||
|
|
||||||
return "sucess";
|
|
||||||
} else {
|
|
||||||
// 사용자 정보 조회 시 오류
|
|
||||||
System.out.println("[getUserInfo error] "+userInfo.get("error"));
|
|
||||||
System.out.println("[getUserInfo error_message] "+userInfo.get("error_message"));
|
|
||||||
|
|
||||||
return "fail";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// 로그인 실패
|
|
||||||
// 사용자 정보 조회 시 오류
|
|
||||||
// System.out.println("[login error] "+login.get("error"));
|
|
||||||
// System.out.println("[login error_message] "+login.get("error_message"));
|
|
||||||
|
|
||||||
return "fail";
|
|
||||||
}
|
|
||||||
// } catch (Exception e) {
|
|
||||||
// System.out.println("Exception Error");
|
|
||||||
// }
|
|
||||||
// return "sucess";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -21,8 +21,6 @@ public class VeSendMail {
|
|||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
|
||||||
|
|
||||||
@Value("#{globalSettings['Globals.edu.mail.template']}")
|
|
||||||
private String TEMPLATE_URI;
|
|
||||||
//================================================================
|
//================================================================
|
||||||
//찾교 메일 발송 계정 ID, PW 넣는 부분
|
//찾교 메일 발송 계정 ID, PW 넣는 부분
|
||||||
|
|
||||||
|
|||||||
81
src/main/java/kcc/ve/cmm/crt/CertPhoneInfo.java
Normal file
81
src/main/java/kcc/ve/cmm/crt/CertPhoneInfo.java
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
package kcc.ve.cmm.crt;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class CertPhoneInfo {
|
||||||
|
|
||||||
|
private static String cryptoUrl;
|
||||||
|
private static String reqNo;
|
||||||
|
private static String id;
|
||||||
|
private static String clientId;
|
||||||
|
private static String srvNo;
|
||||||
|
private static String retUrl;
|
||||||
|
private static String accessToken;
|
||||||
|
private static String stosUrl;
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.cryptoUrl']}")
|
||||||
|
public void setCryptoUrl(String value) {
|
||||||
|
CertPhoneInfo.cryptoUrl = value;
|
||||||
|
}
|
||||||
|
public String getCryptoUrl() {
|
||||||
|
return cryptoUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.reqNo']}")
|
||||||
|
public void setReqNo(String value) {
|
||||||
|
CertPhoneInfo.reqNo = value;
|
||||||
|
}
|
||||||
|
public String getReqNo() {
|
||||||
|
return reqNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.id']}")
|
||||||
|
public void setId(String value) {
|
||||||
|
CertPhoneInfo.id = value;
|
||||||
|
}
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.clientId']}")
|
||||||
|
public void setClientId(String value) {
|
||||||
|
CertPhoneInfo.clientId = value;
|
||||||
|
}
|
||||||
|
public String getClientId() {
|
||||||
|
return clientId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.srvNo']}")
|
||||||
|
public void setSrvNo(String value) {
|
||||||
|
CertPhoneInfo.srvNo = value;
|
||||||
|
}
|
||||||
|
public String getSrvNo() {
|
||||||
|
return srvNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.retUrl']}")
|
||||||
|
public void setRetUrl(String value) {
|
||||||
|
CertPhoneInfo.retUrl = value;
|
||||||
|
}
|
||||||
|
public String getRetUrl() {
|
||||||
|
return retUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.accessToken']}")
|
||||||
|
public void setAccessToken(String value) {
|
||||||
|
CertPhoneInfo.accessToken = value;
|
||||||
|
}
|
||||||
|
public String getAccessToken() {
|
||||||
|
return accessToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Value("#{globalSettings['globals.certPhone.stosUrl']}")
|
||||||
|
public void setStosUrl(String value) {
|
||||||
|
CertPhoneInfo.stosUrl = value;
|
||||||
|
}
|
||||||
|
public String getStosUrl() {
|
||||||
|
return stosUrl;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,21 +1,157 @@
|
|||||||
package kcc.ve.cmm.crt;
|
package kcc.ve.cmm.crt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import org.json.simple.JSONObject;
|
import org.json.simple.JSONObject;
|
||||||
import org.json.simple.parser.JSONParser;
|
import org.json.simple.parser.JSONParser;
|
||||||
|
import org.springframework.http.*;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.crypto.Cipher;
|
import javax.crypto.*;
|
||||||
import javax.crypto.Mac;
|
|
||||||
import javax.crypto.SecretKey;
|
|
||||||
import javax.crypto.spec.IvParameterSpec;
|
import javax.crypto.spec.IvParameterSpec;
|
||||||
import javax.crypto.spec.SecretKeySpec;
|
import javax.crypto.spec.SecretKeySpec;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.security.InvalidAlgorithmParameterException;
|
||||||
|
import java.security.InvalidKeyException;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service(value = "certPhoneRequestUtill")
|
@Service(value = "certPhoneRequestUtill")
|
||||||
public class CertPhoneRequestUtill {
|
public class CertPhoneRequestUtill {
|
||||||
|
|
||||||
public String getEncReqData( String key, String iv, String reqData ) throws Exception {
|
public String requestResult( HttpServletRequest request, ModelAndView modelAndView ) throws Exception {
|
||||||
|
String result = "fail";
|
||||||
|
CertPhoneInfo certPhoneInfo = new CertPhoneInfo();
|
||||||
|
|
||||||
|
String url = certPhoneInfo.getCryptoUrl();
|
||||||
|
String reqNo = certPhoneInfo.getReqNo();
|
||||||
|
String id = certPhoneInfo.getId();
|
||||||
|
String clientId = certPhoneInfo.getClientId();
|
||||||
|
String srvNo = certPhoneInfo.getSrvNo();
|
||||||
|
String retUrl = certPhoneInfo.getRetUrl() + "web/cmm/crt/certPhoneReturn.do";
|
||||||
|
String accessToken = certPhoneInfo.getAccessToken();
|
||||||
|
|
||||||
|
Date currentDate = new Date();
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
|
String reqDate = sdf.format(currentDate);
|
||||||
|
|
||||||
|
RestTemplate restTemplate = new RestTemplate();
|
||||||
|
|
||||||
|
// 1. Header 설정
|
||||||
|
HttpHeaders headers = new HttpHeaders();
|
||||||
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
||||||
|
headers.set("Authorization", "bearer " + accessToken);
|
||||||
|
|
||||||
|
// 2. Body 생성
|
||||||
|
Map<String, Object> dataHeader = new HashMap<>();
|
||||||
|
dataHeader.put("lang_code", "kr");
|
||||||
|
|
||||||
|
Map<String, Object> dataBody = new HashMap<>();
|
||||||
|
dataBody.put("client_id", clientId);
|
||||||
|
dataBody.put("req_date", reqDate);
|
||||||
|
dataBody.put("req_no", reqNo);
|
||||||
|
dataBody.put("enc_mode", "1");
|
||||||
|
|
||||||
|
Map<String, Object> requestJson = new HashMap<>();
|
||||||
|
requestJson.put("dataHeader", dataHeader);
|
||||||
|
requestJson.put("dataBody", dataBody);
|
||||||
|
|
||||||
|
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(requestJson, headers);
|
||||||
|
|
||||||
|
// 3. POST 요청 호출
|
||||||
|
ResponseEntity<String> response = restTemplate.exchange(
|
||||||
|
url,
|
||||||
|
HttpMethod.POST,
|
||||||
|
entity,
|
||||||
|
String.class
|
||||||
|
);
|
||||||
|
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
|
Map<String, Object> json = mapper.readValue(response.getBody(), Map.class);
|
||||||
|
Map<String, Object> resDataBody = (Map<String, Object>) json.get("dataBody");
|
||||||
|
|
||||||
|
String cryptoTokenId = (String) resDataBody.get("crypto_token_id");
|
||||||
|
String cryptoToken = (String) resDataBody.get("crypto_token");
|
||||||
|
|
||||||
|
String reqInfo = getReqData(id
|
||||||
|
, srvNo
|
||||||
|
, reqNo
|
||||||
|
, "72" + retUrl
|
||||||
|
, reqDate
|
||||||
|
, "H"); //4번시트 5 본인확인 서비스 요청데이터 암호화 항목참조
|
||||||
|
|
||||||
|
String symmetricKey = createSymmetricKey(reqDate, reqNo, cryptoToken);
|
||||||
|
|
||||||
|
String key = symmetricKey.substring(0, 16);
|
||||||
|
String iv = symmetricKey.substring(symmetricKey.length() - 16, symmetricKey.length());
|
||||||
|
|
||||||
|
request.getSession().setAttribute("reqkey", key);
|
||||||
|
request.getSession().setAttribute("reqiv", iv);
|
||||||
|
|
||||||
|
reqInfo = getEncReqData(key, iv, reqInfo);
|
||||||
|
|
||||||
|
String hmacKey = symmetricKey.substring(0, 32);
|
||||||
|
byte[] hmacSha256 = hmac256(hmacKey.getBytes(), reqInfo.getBytes());
|
||||||
|
String integrityValue = Base64.getEncoder().encodeToString(hmacSha256);
|
||||||
|
String baseEncStr = Base64.getEncoder().encodeToString(hmacSha256);
|
||||||
|
result = "success";
|
||||||
|
|
||||||
|
modelAndView.addObject("reqInfo", reqInfo);
|
||||||
|
modelAndView.addObject("cryptoTokenId", cryptoTokenId);
|
||||||
|
modelAndView.addObject("integrityValue", integrityValue);
|
||||||
|
modelAndView.addObject("verSion", "3");
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ModelAndView devLogin( HttpServletRequest request ) throws Exception{
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
// 1. 클라이언트에서 넘어온 평문 JSON 문자열
|
||||||
|
String retInfo = request.getParameter("retInfo");
|
||||||
|
|
||||||
|
// 2. 세션에서 키/IV 가져오기
|
||||||
|
String reqkey = request.getSession().getAttribute("reqkey").toString();
|
||||||
|
String reqiv = request.getSession().getAttribute("reqiv").toString();
|
||||||
|
|
||||||
|
// 3. AES 암호화 설정
|
||||||
|
SecretKeySpec secureKey = new SecretKeySpec(reqkey.getBytes("UTF-8"), "AES");
|
||||||
|
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
|
||||||
|
cipher.init(Cipher.ENCRYPT_MODE, secureKey, new IvParameterSpec(reqiv.getBytes("UTF-8")));
|
||||||
|
|
||||||
|
// 4. 평문 JSON 문자열을 바이트로 변환 후 암호화
|
||||||
|
byte[] plainBytes = retInfo.getBytes("UTF-8");
|
||||||
|
byte[] cipherBytes = cipher.doFinal(plainBytes);
|
||||||
|
|
||||||
|
// 5. 암호문을 Base64 인코딩해서 최종 문자열로 변환
|
||||||
|
String encRetInfo = Base64.getEncoder().encodeToString(cipherBytes);
|
||||||
|
|
||||||
|
// 필요하다면 응답에 포함
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
modelAndView.addObject("encRetInfo", encRetInfo);
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///////// private Function
|
||||||
|
|
||||||
|
private String getEncReqData( String key, String iv, String reqData ) throws Exception {
|
||||||
String reqInfo = "";
|
String reqInfo = "";
|
||||||
try {
|
try {
|
||||||
SecretKey secureKey = new SecretKeySpec(key.getBytes(), "AES");
|
SecretKey secureKey = new SecretKeySpec(key.getBytes(), "AES");
|
||||||
@ -32,7 +168,7 @@ public class CertPhoneRequestUtill {
|
|||||||
return reqInfo;
|
return reqInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String createSymmetricKey( String req_dtim, String req_no, String token_val ) throws Exception {
|
private String createSymmetricKey( String req_dtim, String req_no, String token_val ) throws Exception {
|
||||||
String symmetricKey = "";
|
String symmetricKey = "";
|
||||||
String value = req_dtim.trim() + req_no.trim() + token_val.trim();
|
String value = req_dtim.trim() + req_no.trim() + token_val.trim();
|
||||||
MessageDigest md;
|
MessageDigest md;
|
||||||
@ -49,7 +185,7 @@ public class CertPhoneRequestUtill {
|
|||||||
return symmetricKey;
|
return symmetricKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] hmac256( byte[] secretKey, byte[] message ) throws Exception {
|
private byte[] hmac256( byte[] secretKey, byte[] message ) throws Exception {
|
||||||
byte[] hmac256 = null;
|
byte[] hmac256 = null;
|
||||||
try {
|
try {
|
||||||
Mac mac = Mac.getInstance("HmacSHA256");
|
Mac mac = Mac.getInstance("HmacSHA256");
|
||||||
@ -64,7 +200,7 @@ public class CertPhoneRequestUtill {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getReqData( String id, String srvNo, String reqNum, String retUrl, String certDate, String certGb ) {
|
private String getReqData( String id, String srvNo, String reqNum, String retUrl, String certDate, String certGb ) {
|
||||||
|
|
||||||
JSONObject msgMap = new JSONObject();
|
JSONObject msgMap = new JSONObject();
|
||||||
msgMap.put("id", id);
|
msgMap.put("id", id);
|
||||||
@ -79,7 +215,7 @@ public class CertPhoneRequestUtill {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//복호화
|
//복호화
|
||||||
public JSONObject getResData( String req_info, String key, String iv ) throws Exception {
|
private JSONObject getResData( String req_info, String key, String iv ) throws Exception {
|
||||||
SecretKey secureKey = new SecretKeySpec(key.getBytes(), "AES");
|
SecretKey secureKey = new SecretKeySpec(key.getBytes(), "AES");
|
||||||
Cipher c;
|
Cipher c;
|
||||||
String resData = "";
|
String resData = "";
|
||||||
@ -99,4 +235,6 @@ public class CertPhoneRequestUtill {
|
|||||||
return jsonResData;
|
return jsonResData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -28,34 +28,26 @@ import java.util.Map;
|
|||||||
|
|
||||||
@Service(value = "certPhoneResultUtill")
|
@Service(value = "certPhoneResultUtill")
|
||||||
public class CertPhoneResultUtill {
|
public class CertPhoneResultUtill {
|
||||||
public String createCryptoTokenUrl = "https://sciapi.siren24.com:52099/authentication/api/v1.0/common/crypto/token";
|
|
||||||
public String access_token = "994b5d96-3788-4239-a5b0-a0ba2e0cf089 ";
|
|
||||||
public String client_id = "5a2a72e2-16ce-420c-8816-57b3dda0e231";
|
|
||||||
|
|
||||||
public CertPhoneResultUtill() throws Exception {
|
CertPhoneInfo certPhoneInfo = new CertPhoneInfo();
|
||||||
}
|
|
||||||
|
|
||||||
|
public String createCryptoTokenUrl = certPhoneInfo.getCryptoUrl();
|
||||||
|
public String access_token = certPhoneInfo.getAccessToken();
|
||||||
|
public String client_id = certPhoneInfo.getClientId();
|
||||||
|
|
||||||
public String certResult( HttpServletRequest request ) throws Exception {
|
public String certResult( HttpServletRequest request ) throws Exception {
|
||||||
String reqcryptotokenid = request.getParameter("crypto_token_id");
|
String reqcryptotokenid = request.getParameter("crypto_token_id");
|
||||||
String integrity_value = request.getParameter("integrity_value");
|
String integrity_value = request.getParameter("integrity_value");
|
||||||
System.out.println("crypto_token_id -> " + reqcryptotokenid);
|
|
||||||
System.out.println("integrity_value -> " + integrity_value);
|
|
||||||
|
|
||||||
String id = "SKIP001";
|
String id = certPhoneInfo.getId();
|
||||||
String url = "https://pcc.siren24.com/servlet/StoS";
|
String url = certPhoneInfo.getStosUrl();
|
||||||
|
|
||||||
// String reqInfo = certPhoneResultUtill.getReqData(id, crypto_token_id);
|
|
||||||
//
|
|
||||||
// String key = request.getSession().getAttribute("certPhoneKey").toString();
|
|
||||||
// String iv = request.getSession().getAttribute("certPhoneIv").toString();
|
|
||||||
// reqInfo = certPhoneResultUtill.getEncReqData(key, iv, reqInfo);
|
|
||||||
|
|
||||||
//암호화키 얻기
|
//암호화키 얻기
|
||||||
Date currentDate = new Date();
|
Date currentDate = new Date();
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
String reqDate = sdf.format(currentDate);
|
String reqDate = sdf.format(currentDate);
|
||||||
String reqNo = "koipa_edu";
|
|
||||||
|
String reqNo = certPhoneInfo.getReqNo();
|
||||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");
|
||||||
|
|
||||||
String cryptoToken = callCreateCryptoTokenAPI(currentDate, reqNo);
|
String cryptoToken = callCreateCryptoTokenAPI(currentDate, reqNo);
|
||||||
@ -109,7 +101,6 @@ public class CertPhoneResultUtill {
|
|||||||
String.class
|
String.class
|
||||||
);
|
);
|
||||||
|
|
||||||
System.out.println("Response: " + response.getBody());
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
|
||||||
@ -129,12 +120,8 @@ public class CertPhoneResultUtill {
|
|||||||
// Base64 디코딩 후 복호화 수행
|
// Base64 디코딩 후 복호화 수행
|
||||||
byte[] cipherEnc = Base64.getDecoder().decode(retInfo);
|
byte[] cipherEnc = Base64.getDecoder().decode(retInfo);
|
||||||
|
|
||||||
|
|
||||||
String resData = new String(cipher.doFinal(cipherEnc), "UTF-8");
|
String resData = new String(cipher.doFinal(cipherEnc), "UTF-8");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
===== 복호화된 결과 =====
|
===== 복호화된 결과 =====
|
||||||
Commid = KTM
|
Commid = KTM
|
||||||
@ -223,7 +210,6 @@ public class CertPhoneResultUtill {
|
|||||||
req_info = Base64.getEncoder().encodeToString(encrypted);
|
req_info = Base64.getEncoder().encodeToString(encrypted);
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) getEncReqData Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) getEncReqData Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
return req_info;
|
return req_info;
|
||||||
@ -239,7 +225,6 @@ public class CertPhoneResultUtill {
|
|||||||
return hmac256;
|
return hmac256;
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) hmac256 Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) hmac256 Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -255,7 +240,6 @@ public class CertPhoneResultUtill {
|
|||||||
symmetricKey = Base64.getEncoder().encodeToString(arrHashValue);
|
symmetricKey = Base64.getEncoder().encodeToString(arrHashValue);
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) createSymmetricKey Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) createSymmetricKey Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
return symmetricKey;
|
return symmetricKey;
|
||||||
@ -272,7 +256,6 @@ public class CertPhoneResultUtill {
|
|||||||
isFail = false;
|
isFail = false;
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) send Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) send Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
if(bufferedWriter != null) {
|
if(bufferedWriter != null) {
|
||||||
@ -308,7 +291,6 @@ public class CertPhoneResultUtill {
|
|||||||
receiveMsg = stringBuilder.toString();
|
receiveMsg = stringBuilder.toString();
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) receive Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) receive Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
if(bufferedReader != null) {
|
if(bufferedReader != null) {
|
||||||
@ -333,20 +315,16 @@ public class CertPhoneResultUtill {
|
|||||||
return connection;
|
return connection;
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
System.out.println(String.format("(APICERT)(ERR) getURLConnection Exception : %s", e.getMessage()));
|
System.out.println(String.format("(APICERT)(ERR) getURLConnection Exception : %s", e.getMessage()));
|
||||||
e.printStackTrace();
|
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getReqData( String id, String reqcryptotokenid ) {
|
public String getReqData( String id, String reqcryptotokenid ) {
|
||||||
|
|
||||||
|
|
||||||
JSONObject msgMap = new JSONObject();
|
JSONObject msgMap = new JSONObject();
|
||||||
msgMap.put("id", id);
|
msgMap.put("id", id);
|
||||||
msgMap.put("reqcryptotokenid", reqcryptotokenid);
|
msgMap.put("reqcryptotokenid", reqcryptotokenid);
|
||||||
|
|
||||||
|
|
||||||
String reqData = msgMap.toJSONString();
|
String reqData = msgMap.toJSONString();
|
||||||
|
|
||||||
return reqData;
|
return reqData;
|
||||||
|
|||||||
@ -11,9 +11,6 @@ import org.springframework.web.client.RestTemplate;
|
|||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.crypto.Cipher;
|
|
||||||
import javax.crypto.spec.IvParameterSpec;
|
|
||||||
import javax.crypto.spec.SecretKeySpec;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
@ -32,10 +29,6 @@ public class CertPhoneWebController {
|
|||||||
@Resource(name = "certPhoneResultUtill")
|
@Resource(name = "certPhoneResultUtill")
|
||||||
private CertPhoneResultUtill certPhoneResultUtill;
|
private CertPhoneResultUtill certPhoneResultUtill;
|
||||||
|
|
||||||
//로그인 체크 util
|
|
||||||
@Resource(name = "checkLoginUtil")
|
|
||||||
private CheckLoginUtil checkLoginUtil;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 본인인증
|
* 본인인증
|
||||||
*/
|
*/
|
||||||
@ -45,100 +38,14 @@ public class CertPhoneWebController {
|
|||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
modelAndView.setViewName("jsonView");
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
String result = "fail";
|
String result = certPhoneRequestUtill.requestResult(request, modelAndView);
|
||||||
|
|
||||||
try {
|
|
||||||
String url = "https://sciapi.siren24.com:52099/authentication/api/v1.0/common/crypto/token";
|
|
||||||
|
|
||||||
Date currentDate = new Date();
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
||||||
String reqDate = sdf.format(currentDate);
|
|
||||||
String reqNo = "koipa_edu";
|
|
||||||
String id = "SKIP001";
|
|
||||||
String clientId = "5a2a72e2-16ce-420c-8816-57b3dda0e231";
|
|
||||||
String srvNo = "001003";
|
|
||||||
String retUrl = "https://dev-ipedu-cert.iten.co.kr/ipedu/web/cmm/crt/certPhoneReturn.do";
|
|
||||||
// String retUrl = "https://dev-ipedu-cert.iten.co.kr/ipedu/web/user/login/actionSecurityLogin.do";
|
|
||||||
|
|
||||||
String accessToken = "994b5d96-3788-4239-a5b0-a0ba2e0cf089";
|
|
||||||
|
|
||||||
RestTemplate restTemplate = new RestTemplate();
|
|
||||||
|
|
||||||
// 1. Header 설정
|
|
||||||
HttpHeaders headers = new HttpHeaders();
|
|
||||||
headers.setContentType(MediaType.APPLICATION_JSON);
|
|
||||||
headers.set("Authorization", "bearer " + accessToken);
|
|
||||||
|
|
||||||
// 2. Body 생성
|
|
||||||
Map<String, Object> dataHeader = new HashMap<>();
|
|
||||||
dataHeader.put("lang_code", "kr");
|
|
||||||
|
|
||||||
Map<String, Object> dataBody = new HashMap<>();
|
|
||||||
dataBody.put("client_id", clientId);
|
|
||||||
dataBody.put("req_date", reqDate);
|
|
||||||
dataBody.put("req_no", reqNo);
|
|
||||||
dataBody.put("enc_mode", "1");
|
|
||||||
|
|
||||||
Map<String, Object> requestJson = new HashMap<>();
|
|
||||||
requestJson.put("dataHeader", dataHeader);
|
|
||||||
requestJson.put("dataBody", dataBody);
|
|
||||||
|
|
||||||
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(requestJson, headers);
|
|
||||||
|
|
||||||
// 3. POST 요청 호출
|
|
||||||
ResponseEntity<String> response = restTemplate.exchange(
|
|
||||||
url,
|
|
||||||
HttpMethod.POST,
|
|
||||||
entity,
|
|
||||||
String.class
|
|
||||||
);
|
|
||||||
|
|
||||||
System.out.println("Response: " + response.getBody());
|
|
||||||
|
|
||||||
ObjectMapper mapper = new ObjectMapper();
|
|
||||||
|
|
||||||
Map<String, Object> json = mapper.readValue(response.getBody(), Map.class);
|
|
||||||
Map<String, Object> resDataBody = (Map<String, Object>) json.get("dataBody");
|
|
||||||
|
|
||||||
String cryptoTokenId = (String) resDataBody.get("crypto_token_id");
|
|
||||||
String cryptoToken = (String) resDataBody.get("crypto_token");
|
|
||||||
|
|
||||||
String reqInfo = certPhoneRequestUtill.getReqData(id
|
|
||||||
, srvNo
|
|
||||||
, reqNo
|
|
||||||
, "72" + retUrl
|
|
||||||
, reqDate
|
|
||||||
, "H"); //4번시트 5 본인확인 서비스 요청데이터 암호화 항목참조
|
|
||||||
|
|
||||||
String symmetricKey = certPhoneRequestUtill.createSymmetricKey(reqDate, reqNo, cryptoToken);
|
|
||||||
|
|
||||||
String key = symmetricKey.substring(0, 16);
|
|
||||||
String iv = symmetricKey.substring(symmetricKey.length() - 16, symmetricKey.length());
|
|
||||||
|
|
||||||
request.getSession().setAttribute("reqkey", key);
|
|
||||||
request.getSession().setAttribute("reqiv", iv);
|
|
||||||
|
|
||||||
reqInfo = certPhoneRequestUtill.getEncReqData(key, iv, reqInfo);
|
|
||||||
|
|
||||||
String hmacKey = symmetricKey.substring(0, 32);
|
|
||||||
byte[] hmacSha256 = certPhoneRequestUtill.hmac256(hmacKey.getBytes(), reqInfo.getBytes());
|
|
||||||
String integrityValue = Base64.getEncoder().encodeToString(hmacSha256);
|
|
||||||
String baseEncStr = Base64.getEncoder().encodeToString(hmacSha256);
|
|
||||||
|
|
||||||
modelAndView.addObject("reqInfo", reqInfo);
|
|
||||||
modelAndView.addObject("cryptoTokenId", cryptoTokenId);
|
|
||||||
modelAndView.addObject("integrityValue", integrityValue);
|
|
||||||
modelAndView.addObject("verSion", "3");
|
|
||||||
result = "success";
|
|
||||||
|
|
||||||
} catch(Exception ex) {
|
|
||||||
System.out.println(ex.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
modelAndView.addObject("result", result);
|
modelAndView.addObject("result", result);
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping("/web/cmm/crt/certPhoneReturn.do")
|
@RequestMapping("/web/cmm/crt/certPhoneReturn.do")
|
||||||
public String certPhoneReturn( HttpServletRequest request, ModelMap model ) throws Exception {
|
public String certPhoneReturn( HttpServletRequest request, ModelMap model ) throws Exception {
|
||||||
|
|
||||||
@ -153,36 +60,12 @@ public class CertPhoneWebController {
|
|||||||
public ModelAndView certPhoneRequestAjax_dev( HttpServletRequest request ) throws Exception {
|
public ModelAndView certPhoneRequestAjax_dev( HttpServletRequest request ) throws Exception {
|
||||||
|
|
||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
modelAndView.setViewName("jsonView");
|
modelAndView = certPhoneRequestUtill.devLogin(request);
|
||||||
|
|
||||||
// 1. 클라이언트에서 넘어온 평문 JSON 문자열
|
|
||||||
String retInfo = request.getParameter("retInfo");
|
|
||||||
System.out.println("plain retInfo -> " + retInfo);
|
|
||||||
|
|
||||||
// 2. 세션에서 키/IV 가져오기
|
|
||||||
String reqkey = request.getSession().getAttribute("reqkey").toString();
|
|
||||||
String reqiv = request.getSession().getAttribute("reqiv").toString();
|
|
||||||
|
|
||||||
// 3. AES 암호화 설정
|
|
||||||
SecretKeySpec secureKey = new SecretKeySpec(reqkey.getBytes("UTF-8"), "AES");
|
|
||||||
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
|
|
||||||
cipher.init(Cipher.ENCRYPT_MODE, secureKey, new IvParameterSpec(reqiv.getBytes("UTF-8")));
|
|
||||||
|
|
||||||
// 4. 평문 JSON 문자열을 바이트로 변환 후 암호화
|
|
||||||
byte[] plainBytes = retInfo.getBytes("UTF-8");
|
|
||||||
byte[] cipherBytes = cipher.doFinal(plainBytes);
|
|
||||||
|
|
||||||
// 5. 암호문을 Base64 인코딩해서 최종 문자열로 변환
|
|
||||||
String encRetInfo = Base64.getEncoder().encodeToString(cipherBytes);
|
|
||||||
|
|
||||||
System.out.println("encrypted retInfo(Base64) -> " + encRetInfo);
|
|
||||||
|
|
||||||
// 필요하다면 응답에 포함
|
|
||||||
modelAndView.addObject("result", "success");
|
|
||||||
modelAndView.addObject("encRetInfo", encRetInfo);
|
|
||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -206,22 +206,6 @@ public class MainController {
|
|||||||
@Value("#{globalSettings['Globals.email.toEmail.BCC']}")
|
@Value("#{globalSettings['Globals.email.toEmail.BCC']}")
|
||||||
private String Globals_email_toEmail_BCC;
|
private String Globals_email_toEmail_BCC;
|
||||||
|
|
||||||
/** SSO return URL */
|
|
||||||
@Value("#{globalSettings['Globals.sso.returnSiteUrl']}")
|
|
||||||
private String returnSiteUrlGlobal;
|
|
||||||
@Value("#{globalSettings['Globals.sso.returnSiteCode']}")
|
|
||||||
private String returnSiteCodeGlobal;
|
|
||||||
|
|
||||||
/** SSO 회원관련 URL */
|
|
||||||
@Value("#{globalSettings['Globals.sso.joinUrl']}")
|
|
||||||
private String joinUrl_Global;
|
|
||||||
@Value("#{globalSettings['Globals.sso.modifyUrl']}")
|
|
||||||
private String modifyUrl_Global;
|
|
||||||
@Value("#{globalSettings['Globals.sso.idFindUrl']}")
|
|
||||||
private String idFindUrl_Global;
|
|
||||||
@Value("#{globalSettings['Globals.sso.pwFindUrl']}")
|
|
||||||
private String pwFindUrl_Global;
|
|
||||||
|
|
||||||
/** 구동 환경 */
|
/** 구동 환경 */
|
||||||
@Value("#{property['Globals.prod.islocal']}")
|
@Value("#{property['Globals.prod.islocal']}")
|
||||||
private String environment;
|
private String environment;
|
||||||
@ -561,16 +545,6 @@ public class MainController {
|
|||||||
model.addAttribute("ssoLoginVO", ssoLoginVO);
|
model.addAttribute("ssoLoginVO", ssoLoginVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
String returnSiteUrl = returnSiteUrlGlobal;
|
|
||||||
String returnSiteCode = returnSiteCodeGlobal;
|
|
||||||
|
|
||||||
String joinUrl = joinUrl_Global;
|
|
||||||
String modifyUrl = modifyUrl_Global;
|
|
||||||
|
|
||||||
model.addAttribute("returnSiteUrl", (URLEncoder.encode(returnSiteUrl)));
|
|
||||||
model.addAttribute("returnSiteCode", returnSiteCode);
|
|
||||||
model.addAttribute("joinUrl", joinUrl);
|
|
||||||
model.addAttribute("modifyUrl", modifyUrl);
|
|
||||||
model.addAttribute("environment", environment); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr
|
model.addAttribute("environment", environment); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr
|
||||||
|
|
||||||
if(loginVO != null)
|
if(loginVO != null)
|
||||||
|
|||||||
@ -1,170 +1,79 @@
|
|||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# globals.properties : \uc2dc\uc2a4\ud15c
|
# globals.properties : \uC2DC\uC2A4\uD15C
|
||||||
#
|
#
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
|
# 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
|
# 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
|
# 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)
|
# 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)
|
# 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 : '/'
|
# 6. Unix\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '/'
|
||||||
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
|
# 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
|
# 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.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6
|
||||||
crypto.iv=1234567890ABCDEF
|
crypto.iv=1234567890ABCDEF
|
||||||
|
|
||||||
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
|
# \uC6B4\uC601\uC11C\uBC84 \uD0C0\uC785(WINDOWS, UNIX)
|
||||||
Globals.OsType = WINDOWS
|
Globals.OsType = WINDOWS
|
||||||
|
|
||||||
# G4C \uc5f0\uacb0\uc6a9 IP (localhost)
|
# G4C \uC5F0\uACB0\uC6A9 IP (localhost)
|
||||||
Globals.LocalIp = 127.0.0.1
|
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
|
# DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
|
||||||
Globals.DbType = tibero
|
Globals.DbType = postgresql
|
||||||
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
|
# \uAC1C\uBC1C\uC6A9 DB \uC11C\uBC84 tibero \uC5F0\uB3D9
|
||||||
Globals.UserName= EDUSCE
|
# \uD1B5\uD569DB - ipict1
|
||||||
Globals.Password= edusce#23
|
# schema - ipedu_scm
|
||||||
|
# User - ipedu_user
|
||||||
|
# password - qw3$kEduReal!
|
||||||
|
Globals.UserName= koipaEdu
|
||||||
|
Globals.Password= koipaEdu123
|
||||||
|
|
||||||
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
|
Globals.DriverClassName=org.postgresql.Driver
|
||||||
#\ub85c\uceec DB
|
#\uB85C\uCEEC DB
|
||||||
#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero
|
Globals.Url=jdbc:postgresql://192.168.0.60:5432/koipaEduDB?stringtype=unspecified
|
||||||
#\uc6b4\uc601 \uac1c\ubc1cDB - \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ud6c4 \uc6b4\uc601 DB\ub85c \ubcc0\uacbd \uc608\uc815
|
#\uC6B4\uC601 \uAC1C\uBC1CDB
|
||||||
#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
|
#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
|
||||||
#\uc6b4\uc601 DB
|
#\uC6B4\uC601 DB
|
||||||
Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb
|
#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)
|
# MainPage Setting(admin)
|
||||||
Globals.MainPage = /cmm/main/mainPage.do
|
Globals.MainPage = /cmm/main/mainPage.do
|
||||||
#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58
|
#\uCEE8\uD150\uCE20 \uD30C\uC77C\uC704\uCE58
|
||||||
#Globals.ckeditorUploadDir=/home/file/ckeditor/
|
#Globals.ckeditorUploadDir=/home/file/ckeditor/
|
||||||
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
|
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
|
||||||
#TEST SERVER
|
#TEST SERVER
|
||||||
Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/
|
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
|
Globals.Solr.url=http://localhost:8983/solr
|
||||||
|
|
||||||
#SNS \ub85c\uadf8\uc778 KEY \uac12
|
#\uC0AC\uC774\uD2B8 \uC544\uC774\uB514 \uC81C\uAC70\uB85C JSP\uC5D0\uC11C siteId/siteNm \uBCF4\uC5EC\uC8FC\uAE30 \uC704\uD574
|
||||||
#ITN \ub124\uc774\ubc84
|
Globals.homepage.siteId=ipedu
|
||||||
Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J
|
Globals.homepage.siteNm=\uC9C0\uC2DD\uC7AC\uC0B0\uBCF4\uD638\uAD50\uC721\uC2DC\uC2A4\uD15C
|
||||||
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
|
#prod \uAC1C\uBC1C, \uC2E4\uC11C\uBC84 \uAD6C\uBD84\uAC12
|
||||||
Globals.homepage.siteId=kccadr
|
#\uB85C\uCEEC
|
||||||
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
|
#Globals.prod.islocal=local
|
||||||
#\uc6b4\uc601 \uac1c\ubc1c
|
#\uC6B4\uC601 \uAC1C\uBC1C
|
||||||
#Globals.prod.islocal=dev
|
#Globals.prod.islocal=dev
|
||||||
#\uc6b4\uc601
|
#\uC6B4\uC601
|
||||||
Globals.prod.islocal=real
|
Globals.prod.islocal=real
|
||||||
|
|
||||||
|
#\uB300\uC6A9\uB7C9 innorix license
|
||||||
#\ub300\uc6a9\ub7c9 innorix license
|
Globals.Innorix.License=dev
|
||||||
Globals.Innorix.License=svr
|
|
||||||
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/
|
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/
|
||||||
|
|
||||||
#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf
|
|
||||||
Globals.edu.mail.template=/template/offeduMain.html
|
# ===========================
|
||||||
|
# Siren24 \uC778\uC99D \uAD00\uB828 \uC124\uC815
|
||||||
|
# ===========================
|
||||||
|
globals.certPhone.retUrl = https://dev-ipedu-cert.iten.co.kr/ipedu/
|
||||||
|
globals.certPhone.cryptoUrl = https://sciapi.siren24.com:52099/authentication/api/v1.0/common/crypto/token
|
||||||
|
globals.certPhone.reqNo = koipa_edu
|
||||||
|
globals.certPhone.id = SKIP001
|
||||||
|
globals.certPhone.clientId = 5a2a72e2-16ce-420c-8816-57b3dda0e231
|
||||||
|
globals.certPhone.srvNo = 001003
|
||||||
|
globals.certPhone.accessToken = 994b5d96-3788-4239-a5b0-a0ba2e0cf089
|
||||||
|
globals.certPhone.stosUrl = https://pcc.siren24.com/servlet/StoS
|
||||||
|
|||||||
@ -1,31 +1,31 @@
|
|||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# globals.properties : \uc2dc\uc2a4\ud15c
|
# globals.properties : \uC2DC\uC2A4\uD15C
|
||||||
#
|
#
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
|
# 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
|
# 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
|
# 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)
|
# 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)
|
# 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 : '/'
|
# 6. Unix\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '/'
|
||||||
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
|
# 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
|
# 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.key=A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6
|
||||||
crypto.iv=1234567890ABCDEF
|
crypto.iv=1234567890ABCDEF
|
||||||
|
|
||||||
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
|
# \uC6B4\uC601\uC11C\uBC84 \uD0C0\uC785(WINDOWS, UNIX)
|
||||||
Globals.OsType = WINDOWS
|
Globals.OsType = WINDOWS
|
||||||
|
|
||||||
# G4C \uc5f0\uacb0\uc6a9 IP (localhost)
|
# G4C \uC5F0\uACB0\uC6A9 IP (localhost)
|
||||||
Globals.LocalIp = 127.0.0.1
|
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
|
# DB\uC11C\uBC84 \uD0C0\uC785(mysql,oracle,altibase,tibero) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
|
||||||
Globals.DbType = postgresql
|
Globals.DbType = postgresql
|
||||||
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
|
# \uAC1C\uBC1C\uC6A9 DB \uC11C\uBC84 tibero \uC5F0\uB3D9
|
||||||
# \ud1b5\ud569DB - ipict1
|
# \uD1B5\uD569DB - ipict1
|
||||||
# schema - ipedu_scm
|
# schema - ipedu_scm
|
||||||
# User - ipedu_user
|
# User - ipedu_user
|
||||||
# password - qw3$kEduReal!
|
# password - qw3$kEduReal!
|
||||||
@ -33,143 +33,47 @@ Globals.UserName= koipaEdu
|
|||||||
Globals.Password= koipaEdu123
|
Globals.Password= koipaEdu123
|
||||||
|
|
||||||
Globals.DriverClassName=org.postgresql.Driver
|
Globals.DriverClassName=org.postgresql.Driver
|
||||||
#\ub85c\uceec DB
|
#\uB85C\uCEEC DB
|
||||||
Globals.Url=jdbc:postgresql://192.168.0.60:5432/koipaEduDB?stringtype=unspecified
|
Globals.Url=jdbc:postgresql://192.168.0.60:5432/koipaEduDB?stringtype=unspecified
|
||||||
#\uc6b4\uc601 \uac1c\ubc1cDB
|
#\uC6B4\uC601 \uAC1C\uBC1CDB
|
||||||
#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
|
#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
|
||||||
#\uc6b4\uc601 DB
|
#\uC6B4\uC601 DB
|
||||||
#Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb
|
#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)
|
# MainPage Setting(admin)
|
||||||
Globals.MainPage = /cmm/main/mainPage.do
|
Globals.MainPage = /cmm/main/mainPage.do
|
||||||
#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58
|
#\uCEE8\uD150\uCE20 \uD30C\uC77C\uC704\uCE58
|
||||||
#Globals.ckeditorUploadDir=/home/file/ckeditor/
|
#Globals.ckeditorUploadDir=/home/file/ckeditor/
|
||||||
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
|
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
|
||||||
#TEST SERVER
|
#TEST SERVER
|
||||||
Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/
|
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
|
Globals.Solr.url=http://localhost:8983/solr
|
||||||
|
|
||||||
#SNS \ub85c\uadf8\uc778 KEY \uac12
|
#\uC0AC\uC774\uD2B8 \uC544\uC774\uB514 \uC81C\uAC70\uB85C JSP\uC5D0\uC11C siteId/siteNm \uBCF4\uC5EC\uC8FC\uAE30 \uC704\uD574
|
||||||
#ITN \ub124\uc774\ubc84
|
Globals.homepage.siteId=ipedu
|
||||||
Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J
|
Globals.homepage.siteNm=\uC9C0\uC2DD\uC7AC\uC0B0\uBCF4\uD638\uAD50\uC721\uC2DC\uC2A4\uD15C
|
||||||
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
|
#prod \uAC1C\uBC1C, \uC2E4\uC11C\uBC84 \uAD6C\uBD84\uAC12
|
||||||
Globals.homepage.siteId=kccadr
|
#\uB85C\uCEEC
|
||||||
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
|
Globals.prod.islocal=local
|
||||||
#\uc6b4\uc601 \uac1c\ubc1c
|
#\uC6B4\uC601 \uAC1C\uBC1C
|
||||||
#Globals.prod.islocal=dev
|
#Globals.prod.islocal=dev
|
||||||
#\uc6b4\uc601
|
#\uC6B4\uC601
|
||||||
#Globals.prod.islocal=real
|
#Globals.prod.islocal=real
|
||||||
|
|
||||||
|
#\uB300\uC6A9\uB7C9 innorix license
|
||||||
#\ub300\uc6a9\ub7c9 innorix license
|
|
||||||
Globals.Innorix.License=dev
|
Globals.Innorix.License=dev
|
||||||
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/
|
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/
|
||||||
|
|
||||||
#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf
|
|
||||||
#Globals.edu.mail.template=/template/offeduMain.html
|
# ===========================
|
||||||
Globals.edu.mail.template=template/offeduMain.html
|
# Siren24 \uC778\uC99D \uAD00\uB828 \uC124\uC815
|
||||||
|
# ===========================
|
||||||
|
globals.certPhone.retUrl=https://dev-ipedu-cert.iten.co.kr/ipedu/
|
||||||
|
globals.certPhone.cryptoUrl=https://sciapi.siren24.com:52099/authentication/api/v1.0/common/crypto/token
|
||||||
|
globals.certPhone.reqNo=koipa_edu
|
||||||
|
globals.certPhone.id=SKIP001
|
||||||
|
globals.certPhone.clientId=5a2a72e2-16ce-420c-8816-57b3dda0e231
|
||||||
|
globals.certPhone.srvNo=001003
|
||||||
|
globals.certPhone.accessToken=994b5d96-3788-4239-a5b0-a0ba2e0cf089
|
||||||
|
globals.certPhone.stosUrl=https://pcc.siren24.com/servlet/StoS
|
||||||
|
|||||||
@ -25,5 +25,5 @@
|
|||||||
</map>
|
</map>
|
||||||
</property>
|
</property>
|
||||||
</bean>
|
</bean>
|
||||||
<util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals.properties" />
|
<util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals_#{systemProperties['spring.profiles.active']}.properties" />
|
||||||
</beans>
|
</beans>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user