online-common 의존 코드 해제
This commit is contained in:
@@ -33,9 +33,9 @@ import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.util.CommonUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.eactive.eai.rms.onl.common.sql.BatInterfaceSqlService;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
|
||||
@Controller
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ import com.eactive.eai.rms.common.acl.audit.port.in.IsAuditableUsecase;
|
||||
import com.eactive.eai.rms.common.acl.audit.port.in.SaveAuditLogUseCase;
|
||||
import com.eactive.eai.rms.common.login.LoginVo;
|
||||
import com.eactive.eai.rms.common.util.CommonConstants;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@@ -28,9 +28,9 @@ import com.eactive.eai.rms.common.acl.user.ui.UserUISearch;
|
||||
import com.eactive.eai.rms.common.base.BaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.data.entity.onl.unifbwk.UnifBwkTpService;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ import com.eactive.eai.rms.common.base.BaseAnnotationController;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
|
||||
@@ -16,8 +16,8 @@ import com.eactive.eai.rms.common.datasource.DataSourceContextHolder;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.util.StringUtils;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
|
||||
@Aspect
|
||||
@Component
|
||||
|
||||
@@ -5,7 +5,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
|
||||
public class UserAccessLogger {
|
||||
private static final Logger ACCESS_LOGGER = Logger.getLogger("ACCESS_LOGGER");
|
||||
|
||||
@@ -32,11 +32,11 @@ import org.springframework.web.servlet.View;
|
||||
import com.eactive.eai.common.seed.Seed;
|
||||
import com.eactive.eai.data.converter.LocalDateTimeFormatters;
|
||||
import com.eactive.eai.rms.common.context.MonitoringContext;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.interceptor.InterceptorSkipController;
|
||||
import com.eactive.eai.rms.common.logging.UserAccessLogger;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.CommonConstants;
|
||||
import com.eactive.eai.rms.data.entity.man.monitoringProperty.service.MonitoringPropertyService;
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.eactive.eai.rms.common.util;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* IP 주소 관련 유틸리티 클래스
|
||||
*
|
||||
* 프록시(OHS, WebLogic 등)를 통해 들어온 요청의 실제 클라이언트 IP를 추출합니다.
|
||||
*/
|
||||
public class IpUtil {
|
||||
|
||||
/**
|
||||
* HttpServletRequest에서 실제 클라이언트 IP를 추출합니다.
|
||||
* 프록시(OHS, WebLogic 등)를 통해 들어온 요청의 경우 프록시 헤더를 확인하여 실제 클라이언트 IP를 반환합니다.
|
||||
*
|
||||
* 확인하는 헤더 순서:
|
||||
* 1. X-Forwarded-For (가장 일반적인 프록시 헤더)
|
||||
* 2. Proxy-Client-IP
|
||||
* 3. WL-Proxy-Client-IP (WebLogic 전용 헤더)
|
||||
* 4. HTTP_X_FORWARDED_FOR
|
||||
* 5. request.getRemoteAddr() (fallback)
|
||||
*
|
||||
* @param request HttpServletRequest 객체
|
||||
* @return 실제 클라이언트 IP 주소
|
||||
*/
|
||||
public static String getClientIp(HttpServletRequest request) {
|
||||
if (request == null) {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
String ip = request.getHeader("X-Forwarded-For");
|
||||
|
||||
if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("Proxy-Client-IP");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("WL-Proxy-Client-IP");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
|
||||
ip = request.getRemoteAddr();
|
||||
}
|
||||
|
||||
// X-Forwarded-For 헤더에 여러 IP가 쉼표로 구분되어 있을 경우 첫 번째 IP만 사용
|
||||
if (ip != null && ip.indexOf(",") > 0) {
|
||||
ip = ip.substring(0, ip.indexOf(",")).trim();
|
||||
}
|
||||
|
||||
return ip;
|
||||
}
|
||||
|
||||
/**
|
||||
* IP 주소가 유효한 IPv4 형식인지 검증합니다.
|
||||
*
|
||||
* @param ip 검증할 IP 주소
|
||||
* @return 유효한 IPv4 형식이면 true, 아니면 false
|
||||
*/
|
||||
public static boolean isValidIp(String ip) {
|
||||
if (StringUtils.isBlank(ip)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String ipPattern = "(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}";
|
||||
return ip.matches(ipPattern);
|
||||
}
|
||||
}
|
||||
@@ -36,10 +36,10 @@ import com.eactive.eai.rms.common.datasource.DataSourceType;
|
||||
import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.util.MonitoringSyncAgent;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.data.entity.onl.adapter.AdapterGroupService;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.loader.service.HistoryService;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
import com.eactive.eai.rms.onl.manage.adapter.adapter.ui.AdapterExportData;
|
||||
|
||||
@@ -50,10 +50,10 @@ import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.CommonUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.eactive.eai.rms.common.vo.SimpleResponse;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.common.exception.BizException;
|
||||
import com.eactive.eai.rms.onl.loader.service.HistoryService;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
|
||||
+1
-1
@@ -33,9 +33,9 @@ import com.eactive.eai.rms.common.spring.BaseController;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.CamelCaseUtil;
|
||||
import com.eactive.eai.rms.common.util.CommonUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.JsonPageVo;
|
||||
import com.eactive.eai.rms.onl.common.exception.BizException;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.loader.service.HistoryService;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
+1
-1
@@ -33,11 +33,11 @@ import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
|
||||
import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.spring.BaseController;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.common.vo.SimpleResponse;
|
||||
import com.eactive.eai.rms.onl.common.exception.BizException;
|
||||
import com.eactive.eai.rms.onl.common.exception.EMSRuntimeException;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.loader.service.HistoryService;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
import com.eactive.eai.rms.onl.manage.rule.layout.LayoutManService;
|
||||
|
||||
+1
-1
@@ -38,10 +38,10 @@ import com.eactive.eai.rms.common.login.SessionManager;
|
||||
import com.eactive.eai.rms.common.spring.BaseController;
|
||||
import com.eactive.eai.rms.common.spring.LocaleMessage;
|
||||
import com.eactive.eai.rms.common.util.CommonUtil;
|
||||
import com.eactive.eai.rms.common.util.IpUtil;
|
||||
import com.eactive.eai.rms.common.vo.GridResponse;
|
||||
import com.eactive.eai.rms.data.entity.onl.eaimsg.EAIMessageUISearch;
|
||||
import com.eactive.eai.rms.onl.common.exception.EMSRuntimeException;
|
||||
import com.eactive.eai.util.IpUtil;
|
||||
import com.eactive.eai.rms.onl.loader.service.HistoryService;
|
||||
import com.eactive.eai.rms.onl.loader.service.TransactionLoaderService;
|
||||
import com.eactive.eai.rms.onl.manage.adapter.adapter.AdapterManService;
|
||||
|
||||
Reference in New Issue
Block a user