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
@@ -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);