Proxy IP 처리

This commit is contained in:
Rinjae
2025-11-24 18:01:12 +09:00
parent 3270efd365
commit 56dc4350b2
12 changed files with 25 additions and 32 deletions
@@ -35,6 +35,7 @@ import com.eactive.eai.rms.common.util.CamelCaseUtil;
import com.eactive.eai.rms.common.util.CommonUtil;
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
@@ -289,10 +290,7 @@ public class BatInterfaceController extends BatBaseAnnotationController {
String targetUrl = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");
@@ -14,6 +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 lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -36,7 +37,7 @@ public class AuditLogInterceptor implements HandlerInterceptor {
String userId = loginVo.getUserId();
String command = request.getParameter("cmd");
String systemCode = request.getParameter("serviceType");
String remoteAddress = request.getRemoteAddr();
String remoteAddress = IpUtil.getClientIp(request);
if (isAuditableUsecase.isAuditable(userId, command, logType, systemCode)) {
String parameters = getParametersAsString(request);
@@ -30,6 +30,7 @@ import com.eactive.eai.rms.common.datasource.DataSourceTypeManager;
import com.eactive.eai.rms.common.login.SessionManager;
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;
@@ -264,9 +265,9 @@ public class UserManController extends BaseAnnotationController {
/* 권한 역할 변경이력 관련 */
private AdminLoginVo getAdminLoginVo(HttpServletRequest request) {
AdminLoginVo adminLoginVo = new AdminLoginVo();
adminLoginVo.setLoginIp(request.getRemoteAddr());
adminLoginVo.setLoginIp(IpUtil.getClientIp(request));
adminLoginVo.setLoginId(SessionManager.getUserId(request));
return adminLoginVo;
}
}
@@ -5,6 +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.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
@@ -68,7 +69,7 @@ public class UserRegistUtilController extends BaseAnnotationController {
private AdminLoginVo getAdminLoginVo(HttpServletRequest request) {
AdminLoginVo adminLoginVo = new AdminLoginVo();
adminLoginVo.setLoginIp(request.getRemoteAddr());
adminLoginVo.setLoginIp(IpUtil.getClientIp(request));
adminLoginVo.setLoginId(SessionManager.getUserId(request));
return adminLoginVo;
@@ -17,6 +17,7 @@ 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.StringUtils;
import com.eactive.eai.util.IpUtil;
@Aspect
@Component
@@ -139,7 +140,7 @@ public class RequestParameterLoggingAspect {
HashMap<String, String> param = new HashMap<String, String>();
param.put("schemaId", dt == null ? "" : dt.getSchema());
param.put("id", id);
param.put("userIp", request.getRemoteAddr());
param.put("userIp", IpUtil.getClientIp(request));
param.put("type", type);
param.put("sub", sub);
param.put("msg", msg);
@@ -5,6 +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;
public class UserAccessLogger {
private static final Logger ACCESS_LOGGER = Logger.getLogger("ACCESS_LOGGER");
@@ -46,7 +47,7 @@ public class UserAccessLogger {
if (ACCESS_LOGGER.isInfoEnabled()) {
StringBuilder sb = new StringBuilder();
sb.append("ID=").append(SessionManager.getUserId(request)).append(sep);
sb.append("IP=").append(request.getRemoteAddr()).append(sep);
sb.append("IP=").append(IpUtil.getClientIp(request)).append(sep);
sb.append("TYPE=").append(type).append(sep);
sb.append("SUB=").append(sub).append(sep);
sb.append("MSG=").append(msg).append(sep);
@@ -32,6 +32,7 @@ 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;
@@ -290,7 +291,7 @@ public class MainController implements InterceptorSkipController {
// 사용자 최신 로그인 정보 업데이트
private void updateUserInfo(HttpServletRequest request, UserInfo userInfo) {
String lastLoginIp = request.getRemoteAddr();
String lastLoginIp = IpUtil.getClientIp(request);
userInfo.setLastloginyms(LocalDateTime.now());
userInfo.setLastloginip(lastLoginIp);
userInfoService.save(userInfo);
@@ -39,6 +39,7 @@ import com.eactive.eai.rms.common.spring.LocaleMessage;
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;
@@ -358,11 +359,7 @@ public class AdapterController extends OnlBaseAnnotationController {
MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");
@@ -53,6 +53,7 @@ import com.eactive.eai.rms.common.util.CommonUtil;
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;
@@ -458,10 +459,7 @@ public class LayoutManController extends OnlBaseAnnotationController {
String targetUrl = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");
@@ -35,6 +35,7 @@ import com.eactive.eai.rms.common.util.CamelCaseUtil;
import com.eactive.eai.rms.common.util.CommonUtil;
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;
@@ -486,10 +487,7 @@ public class TransformController extends BaseController {
String targetUrl = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");
@@ -37,6 +37,7 @@ 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;
@@ -392,10 +393,7 @@ public class Transform2Controller extends BaseController {
String targetUrl = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");
@@ -41,6 +41,7 @@ import com.eactive.eai.rms.common.util.CommonUtil;
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;
@@ -393,10 +394,7 @@ public class EaiMsgController extends BaseController {
String targetUrl = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_TARGET_URL);
targetUrl = StringUtils.removeEnd(targetUrl, "/");
String userIp = request.getHeader("X-FORWARDED-FOR");
if (StringUtils.isBlank(userIp)) {
userIp = request.getRemoteAddr();
}
String userIp = IpUtil.getClientIp(request);
if (logger.isInfoEnabled()) {
logger.info("-------------------------------------------");