default host 추가

This commit is contained in:
KNKIM 2021-12-21 10:27:51 +09:00
parent ad415d885c
commit 12d47aac08

View File

@ -1,83 +1,84 @@
package nlib.cmm.interceptor; package nlib.cmm.interceptor;
import java.util.HashMap; import java.util.HashMap;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import nlib.cmm.service.NlibProperty; import nlib.cmm.service.NlibProperty;
import nlib.user.service.LoginService; import nlib.user.service.LoginService;
import nlib.util.StringUtil; import nlib.util.StringUtil;
/** /**
* <pre> * <pre>
* @Class Name : NlibInterceptor.java * @Class Name : NlibInterceptor.java
* *
* @Description : 소장자료관 인터셉터로써 지방문화원 접속 정보를 세션에 저장 처리 * @Description : 소장자료관 인터셉터로써 지방문화원 접속 정보를 세션에 저장 처리
* *
* *
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021) * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
* *
* </pre> * </pre>
* *
* @ ------------ -------- --------------------------- * @ ------------ -------- ---------------------------
* @ 수정일 수정자 수정내용 * @ 수정일 수정자 수정내용
* @ ------------ -------- --------------------------- * @ ------------ -------- ---------------------------
* @ 2021. 8. 31. KNKIM 최초 생성 * @ 2021. 8. 31. KNKIM 최초 생성
* *
* *
* @author 이씨플라자 * DIGITALSHIP KNKIM * @author 이씨플라자 * DIGITALSHIP KNKIM
* @since 2021. 8. 31. * @since 2021. 8. 31.
* @version 1.0 * @version 1.0
* *
*/ */
public class NlibInterceptor extends HandlerInterceptorAdapter { public class NlibInterceptor extends HandlerInterceptorAdapter {
private static final Logger log = LoggerFactory.getLogger(NlibInterceptor.class); private static final Logger log = LoggerFactory.getLogger(NlibInterceptor.class);
@Resource(name = "loginService") @Resource(name = "loginService")
private LoginService loginService; private LoginService loginService;
@Override @Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//--------------------------------------- //---------------------------------------
// 지방문화원 접속 정보를 세션에 담기 // 지방문화원 접속 정보를 세션에 담기
//--------------------------------------- //---------------------------------------
HttpSession session = request.getSession(); HttpSession session = request.getSession();
log.debug("preHandle > sessionid=" + session.getId()); log.debug("preHandle > sessionid=" + session.getId());
String councilCd = (String)session.getAttribute("councilCd"); String councilCd = (String)session.getAttribute("councilCd");
String councilNm = (String)session.getAttribute("councilNm"); String councilNm = (String)session.getAttribute("councilNm");
if(StringUtil.isEmpty(councilCd)) { if(StringUtil.isEmpty(councilCd)) {
// 지방문화원 코드 확인 // 지방문화원 코드 확인
String councilDnsHost = StringUtil.getHostName(request.getRequestURL().toString()); String councilDnsHost = StringUtil.getHostName(request.getRequestURL().toString());
HashMap<String, String> councilInfoMap = loginService.selectCouncilInfoByDnsHost(councilDnsHost); HashMap<String, String> councilInfoMap = loginService.selectCouncilInfoByDnsHost(councilDnsHost);
if(councilInfoMap == null || councilInfoMap.size() < 1) { if(councilInfoMap == null || councilInfoMap.size() < 1) {
log.error("preHandle > [오류] 등록되지 않은 도메인입니다. 지방문화원 정보에 도메인 호스트명을 등록해 주시기 바랍니다. : " + councilDnsHost); log.error("preHandle > [오류] 등록되지 않은 도메인입니다. 지방문화원 정보에 도메인 호스트명을 등록해 주시기 바랍니다. : " + councilDnsHost);
log.error("preHandle > [오류] 도메인이 등록되지 않음에 따라 Default 도메인으로 등록되나, 로그인/회원가입 및 기타 서비스 이용시 문제 발생할 수 있습니다. " + NlibProperty.getString("nlib.council.cd") + ", " + NlibProperty.getString("nlib.council.nm")); log.error("preHandle > [오류] 도메인이 등록되지 않음에 따라 Default 도메인으로 등록되나, 로그인/회원가입 및 기타 서비스 이용시 문제 발생할 수 있습니다. " + NlibProperty.getString("nlib.council.cd") + ", " + NlibProperty.getString("nlib.council.nm"));
councilCd = null; councilCd = null;
councilNm = null; councilNm = null;
} else { } else {
councilCd = councilInfoMap.get("councilCd"); councilCd = councilInfoMap.get("councilCd");
councilNm = councilInfoMap.get("councilNm"); councilNm = councilInfoMap.get("councilNm");
} }
if(StringUtil.isEmpty(councilCd)) councilCd = NlibProperty.getString("nlib.council.cd"); if(StringUtil.isEmpty(councilCd)) councilCd = NlibProperty.getString("nlib.council.cd");
if(StringUtil.isEmpty(councilNm)) councilNm = NlibProperty.getString("nlib.council.nm"); if(StringUtil.isEmpty(councilNm)) councilNm = NlibProperty.getString("nlib.council.nm");
if(StringUtil.isEmpty(councilDnsHost)) councilDnsHost = NlibProperty.getString("nlib.council.dns.host");
session.setAttribute("councilCd" , councilCd);
session.setAttribute("councilNm" , councilNm); session.setAttribute("councilCd" , councilCd);
session.setAttribute("councilDnsHost", councilDnsHost); session.setAttribute("councilNm" , councilNm);
} session.setAttribute("councilDnsHost", councilDnsHost);
}
return true;
} return true;
} }
}