diff --git a/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java b/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java index 464ce996..3ce6f2b4 100644 --- a/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java +++ b/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java @@ -4,9 +4,11 @@ import com.kamco.cd.kamcoback.common.enums.StatusType; import com.kamco.cd.kamcoback.common.enums.error.AuthErrorCode; import com.kamco.cd.kamcoback.common.exception.CustomApiException; import com.kamco.cd.kamcoback.common.utils.HeaderUtil; +import com.kamco.cd.kamcoback.config.api.ApiLogFunction; import com.kamco.cd.kamcoback.postgres.entity.MemberEntity; import com.kamco.cd.kamcoback.postgres.repository.members.MembersRepository; import jakarta.servlet.http.HttpServletRequest; +import java.util.Optional; import lombok.RequiredArgsConstructor; import org.mindrot.jbcrypt.BCrypt; import org.springframework.security.authentication.AuthenticationProvider; @@ -60,7 +62,11 @@ public class CustomAuthenticationProvider implements AuthenticationProvider { // front에서 전달한 사용자 ip 등록 HttpServletRequest req = (attr != null) ? attr.getRequest() : null; - String ip = (req != null) ? HeaderUtil.get(req, "X-Forwarded-For") : null; + String ip = + (req != null) + ? Optional.ofNullable(HeaderUtil.get(req, "kamco-user-ip")) + .orElseGet(() -> ApiLogFunction.getXFowardedForIp(req)) + : null; UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); diff --git a/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseAdvice.java b/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseAdvice.java index 7e2575d3..d86669ab 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseAdvice.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/api/ApiResponseAdvice.java @@ -11,6 +11,7 @@ import com.kamco.cd.kamcoback.postgres.repository.log.AuditLogRepository; import jakarta.servlet.http.HttpServletRequest; import java.util.LinkedHashMap; import java.util.List; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; @@ -75,7 +76,9 @@ public class ApiResponseAdvice implements ResponseBodyAdvice { return body; } - String ip = ApiLogFunction.getXFowardedForIp(servletRequest); + String ip = + Optional.ofNullable(HeaderUtil.get(servletRequest, "kamco-user-ip")) + .orElseGet(() -> ApiLogFunction.getXFowardedForIp(servletRequest)); Long userid = null; String loginAttemptId = null;