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