209 lines
6.2 KiB
Java
209 lines
6.2 KiB
Java
package seed.utils;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Calendar;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Random;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.ibm.icu.text.SimpleDateFormat;
|
|
|
|
public class FairnetUtils {
|
|
|
|
public static boolean hasAuth(
|
|
int p_memberIdx
|
|
, String p_memberGrant
|
|
, boolean p_memberAuth
|
|
, HttpSession p_session
|
|
, Map<String, Object> p_map
|
|
) {
|
|
boolean b_ret = true;
|
|
|
|
//기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것
|
|
//egov 권한으로 대체 예정
|
|
/*
|
|
try {
|
|
if(p_memberIdx == 0 || (!p_memberGrant.equals("S") && !p_memberAuth)){
|
|
setSessionRemove(p_session);
|
|
p_map.put("url", "/gtm/login.do");
|
|
p_map.put("url", "/uat/uia/EgovLoginUsr.do");
|
|
p_map.put("message", "common.message.no.grant");
|
|
//return new ModelAndView("/_common/jsp/message");
|
|
b_ret = false;
|
|
}
|
|
}catch(Exception ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
*/
|
|
|
|
return b_ret;
|
|
}
|
|
|
|
public static boolean hasUserAuth(
|
|
int p_memberIdx
|
|
, String p_memberGrant
|
|
, boolean p_memberAuth
|
|
, HttpSession p_session
|
|
, Map<String, Object> p_map
|
|
) {
|
|
boolean b_ret = true;
|
|
|
|
//기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것
|
|
//egov 권한으로 대체 예정
|
|
/*
|
|
try {
|
|
if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){
|
|
|
|
map.put("message", "common.message.no.grant");
|
|
|
|
if(memberIdx.equals(0)){
|
|
map.put("url", "/"+siteIdx+"/index.do");
|
|
}else{
|
|
map.put("self", "history");
|
|
}
|
|
|
|
//return new ModelAndView("/_common/jsp/umessage");
|
|
b_ret = false;
|
|
}
|
|
}catch(Exception ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
*/
|
|
|
|
return b_ret;
|
|
}
|
|
|
|
public static ModelMap myCheck(
|
|
ModelMap p_map
|
|
, HttpSession p_session
|
|
) {
|
|
boolean b_ret = true;
|
|
|
|
//인증여부 체크용
|
|
/*
|
|
try {
|
|
if(SeedUtils.setReplaceNull(p_session.getAttribute("hpName")).equals("")){
|
|
p_map.put("siteIdx", "case");
|
|
p_map.put("url", "/web/user/mypage/case/01/168/myCheck.do");
|
|
p_map.put("message", "common.message.my.check");
|
|
p_map.put("opener", "");
|
|
p_map.put("append", "");
|
|
p_map.put("self", "");
|
|
|
|
b_ret = false;
|
|
}
|
|
|
|
}catch(Exception ex) {
|
|
ex.printStackTrace();
|
|
}
|
|
*/
|
|
|
|
p_map.put("b_ret", b_ret);
|
|
|
|
return p_map;
|
|
}
|
|
|
|
|
|
public static void certSet(ModelMap map, HttpServletRequest req, HttpSession session,String commandCode ) {
|
|
|
|
//실서버
|
|
String hpSrvNo = CertGlobalSet.getHpSrvNo();
|
|
String hpRetUrl = CertGlobalSet.getHpRetUrl() + "/web/user/siren/case/04/154/check.do";//모바일 인증후 리턴 페이지
|
|
|
|
//날짜 생성
|
|
Calendar today = Calendar.getInstance();
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
String day = sdf.format(today.getTime());
|
|
|
|
java.util.Random ran = new Random();
|
|
//랜덤 문자 길이
|
|
int numLength = 6;
|
|
String randomStr = "";
|
|
|
|
for (int i = 0; i < numLength; i++) {
|
|
//0 ~ 9 랜덤 숫자 생성
|
|
randomStr += ran.nextInt(10);
|
|
}
|
|
|
|
String hpId = "SKFA001"; // 본인실명확인 회원사 아이디
|
|
String hpReqNum = day + randomStr; // 본인실명확인 요청번호
|
|
String hpExVar = "0000000000000000"; // 복호화용 임시필드
|
|
String hpCertDate = day; // 본인실명확인 요청시간
|
|
String hpCertGb = "H"; // 본인실명확인 본인확인 인증수단
|
|
String hpAddVar = ""; // 본인실명확인 추가 파라메터
|
|
|
|
req.getSession().setAttribute("hpReqNumKey", hpReqNum); // 결과값 복호화시 필요
|
|
|
|
//01. 암호화 모듈 선언
|
|
com.sci.v2.pcc.secu.SciSecuManager hpSeed = new com.sci.v2.pcc.secu.SciSecuManager();
|
|
|
|
//02. 1차 암호화
|
|
String hpEncStr = "";
|
|
String hpReqInfo = hpId+"^"+hpSrvNo+"^"+hpReqNum+"^"+hpCertDate+"^"+hpCertGb+"^"+hpAddVar+"^"+hpExVar; // 데이터 암호화
|
|
hpEncStr = hpSeed.getEncPublic(hpReqInfo);
|
|
|
|
//03. 위변조 검증 값 생성
|
|
com.sci.v2.pcc.secu.hmac.SciHmac hpHmac = new com.sci.v2.pcc.secu.hmac.SciHmac();
|
|
String hpHmacMsg = hpHmac.HMacEncriptPublic(hpEncStr);
|
|
|
|
//03. 2차 암호화
|
|
hpReqInfo = hpSeed.getEncPublic(hpEncStr + "^" + hpHmacMsg + "^" + "0000000000000000"); //2차암호화
|
|
|
|
req.getSession().setAttribute("hpRetUrl", hpRetUrl);
|
|
req.getSession().setAttribute("hpReqInfo", hpReqInfo);
|
|
|
|
/**
|
|
* 핸드폰 인증 끝 */
|
|
|
|
}
|
|
|
|
/*첨부파일 목록의 정보를 이노릭스 화면에서 사용하기 위한 정보로 리턴*/
|
|
public static String innorixFileListInfo(List<Map<String, Object>> fileList) throws Exception {
|
|
|
|
List<Map<String, Object>> innorixFileListInfo = new ArrayList<>();
|
|
for (Map<String, Object> file : fileList) {
|
|
Map<String, Object> innorixFileInfo = new HashMap<>();
|
|
innorixFileInfo.put("printFileName", file.get("EXTRA_FILE_NAME"));
|
|
innorixFileInfo.put("fileSize", file.get("EXTRA_FILE_SIZE"));
|
|
innorixFileInfo.put("dataIdx", file.get("EXTRA_FILE_IDX"));
|
|
innorixFileInfo.put("downloadUrl", "notUse"); //해당 값 없으면 목록이 안나와 임시로 사용
|
|
innorixFileListInfo.add(innorixFileInfo);
|
|
}
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
String innorixFileListInfoStr = objectMapper.writeValueAsString(innorixFileListInfo);
|
|
|
|
return innorixFileListInfoStr;
|
|
|
|
}
|
|
|
|
/**
|
|
* @methodName : certSessionSet
|
|
* @author : JunHo Lee
|
|
* @date : 2024.11.27
|
|
* @description :
|
|
* @param reqeust
|
|
* @param certNm - 이름
|
|
* @param certNo - 휴대폰 번호
|
|
*/
|
|
public static void certSessionSet(
|
|
HttpServletRequest reqeust
|
|
, String certNm
|
|
, String certHpNo
|
|
) {
|
|
HttpSession session = reqeust.getSession();
|
|
session.setAttribute("certNm", certNm);
|
|
session.setAttribute("certHpNo", certHpNo);
|
|
|
|
session.setMaxInactiveInterval(60*60*2);
|
|
}
|
|
|
|
|
|
} |