🔨 修改 ip 获取逻辑.
This commit is contained in:
@@ -2,8 +2,12 @@ package com.orion.visor.framework.common.utils;
|
|||||||
|
|
||||||
import com.orion.ext.location.Region;
|
import com.orion.ext.location.Region;
|
||||||
import com.orion.ext.location.region.LocationRegions;
|
import com.orion.ext.location.region.LocationRegions;
|
||||||
|
import com.orion.lang.constant.StandardHttpHeader;
|
||||||
|
import com.orion.lang.utils.Strings;
|
||||||
import com.orion.visor.framework.common.constant.Const;
|
import com.orion.visor.framework.common.constant.Const;
|
||||||
|
import com.orion.web.servlet.web.Servlets;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -21,6 +25,22 @@ public class IpUtils {
|
|||||||
private IpUtils() {
|
private IpUtils() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取请求地址
|
||||||
|
*
|
||||||
|
* @param request request
|
||||||
|
* @return addr
|
||||||
|
*/
|
||||||
|
public static String getRemoteAddr(HttpServletRequest request) {
|
||||||
|
// 获取实际地址
|
||||||
|
String realIp = request.getHeader(StandardHttpHeader.X_REAL_IP);
|
||||||
|
if (!Strings.isBlank(realIp)) {
|
||||||
|
return realIp;
|
||||||
|
}
|
||||||
|
// 获取请求地址
|
||||||
|
return Servlets.getRemoteAddr(request);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取 ip 位置
|
* 获取 ip 位置
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class Requests {
|
|||||||
.map(s -> (ServletRequestAttributes) s)
|
.map(s -> (ServletRequestAttributes) s)
|
||||||
.map(ServletRequestAttributes::getRequest)
|
.map(ServletRequestAttributes::getRequest)
|
||||||
.ifPresent(request -> {
|
.ifPresent(request -> {
|
||||||
String address = Servlets.getRemoteAddr(request);
|
String address = IpUtils.getRemoteAddr(request);
|
||||||
identity.setAddress(address);
|
identity.setAddress(address);
|
||||||
identity.setLocation(IpUtils.getLocation(address));
|
identity.setLocation(IpUtils.getLocation(address));
|
||||||
identity.setUserAgent(Servlets.getUserAgent(request));
|
identity.setUserAgent(Servlets.getUserAgent(request));
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.orion.visor.framework.log.core.interceptor;
|
|||||||
import com.orion.lang.utils.Exceptions;
|
import com.orion.lang.utils.Exceptions;
|
||||||
import com.orion.lang.utils.Strings;
|
import com.orion.lang.utils.Strings;
|
||||||
import com.orion.lang.utils.time.Dates;
|
import com.orion.lang.utils.time.Dates;
|
||||||
|
import com.orion.visor.framework.common.utils.IpUtils;
|
||||||
import com.orion.visor.framework.common.utils.SwaggerUtils;
|
import com.orion.visor.framework.common.utils.SwaggerUtils;
|
||||||
import com.orion.visor.framework.log.configuration.config.LogPrinterConfig;
|
import com.orion.visor.framework.log.configuration.config.LogPrinterConfig;
|
||||||
import com.orion.web.servlet.web.Servlets;
|
import com.orion.web.servlet.web.Servlets;
|
||||||
@@ -60,7 +61,7 @@ public class PrettyLogPrinterInterceptor extends AbstractLogPrinterInterceptor {
|
|||||||
// http
|
// http
|
||||||
if (request != null) {
|
if (request != null) {
|
||||||
// remoteAddr
|
// remoteAddr
|
||||||
requestLog.append("\tremoteAddr: ").append(Servlets.getRemoteAddr(request)).append('\n');
|
requestLog.append("\tremoteAddr: ").append(IpUtils.getRemoteAddr(request)).append('\n');
|
||||||
// header
|
// header
|
||||||
Servlets.getHeaderMap(request).forEach((hk, hv) -> {
|
Servlets.getHeaderMap(request).forEach((hk, hv) -> {
|
||||||
if (headerFilter.test(hk.toLowerCase())) {
|
if (headerFilter.test(hk.toLowerCase())) {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
|
|||||||
import com.orion.lang.utils.Exceptions;
|
import com.orion.lang.utils.Exceptions;
|
||||||
import com.orion.lang.utils.Strings;
|
import com.orion.lang.utils.Strings;
|
||||||
import com.orion.lang.utils.time.Dates;
|
import com.orion.lang.utils.time.Dates;
|
||||||
|
import com.orion.visor.framework.common.utils.IpUtils;
|
||||||
import com.orion.visor.framework.common.utils.SwaggerUtils;
|
import com.orion.visor.framework.common.utils.SwaggerUtils;
|
||||||
import com.orion.visor.framework.log.configuration.config.LogPrinterConfig;
|
import com.orion.visor.framework.log.configuration.config.LogPrinterConfig;
|
||||||
import com.orion.visor.framework.log.core.enums.LogFieldConst;
|
import com.orion.visor.framework.log.core.enums.LogFieldConst;
|
||||||
@@ -61,7 +62,7 @@ public class RowLogPrinterInterceptor extends AbstractLogPrinterInterceptor impl
|
|||||||
// http
|
// http
|
||||||
if (request != null) {
|
if (request != null) {
|
||||||
// remoteAddr
|
// remoteAddr
|
||||||
fields.put(REMOTE_ADDR, Servlets.getRemoteAddr(request));
|
fields.put(REMOTE_ADDR, IpUtils.getRemoteAddr(request));
|
||||||
// header
|
// header
|
||||||
Map<String, Object> headers = new LinkedHashMap<>();
|
Map<String, Object> headers = new LinkedHashMap<>();
|
||||||
Servlets.getHeaderMap(request).forEach((hk, hv) -> {
|
Servlets.getHeaderMap(request).forEach((hk, hv) -> {
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class AuthenticationServiceImpl implements AuthenticationService {
|
|||||||
// 重设用户缓存
|
// 重设用户缓存
|
||||||
this.setUserCache(user);
|
this.setUserCache(user);
|
||||||
// 获取登录信息
|
// 获取登录信息
|
||||||
String remoteAddr = Servlets.getRemoteAddr(servletRequest);
|
String remoteAddr = IpUtils.getRemoteAddr(servletRequest);
|
||||||
String location = IpUtils.getLocation(remoteAddr);
|
String location = IpUtils.getLocation(remoteAddr);
|
||||||
String userAgent = Servlets.getUserAgent(servletRequest);
|
String userAgent = Servlets.getUserAgent(servletRequest);
|
||||||
long current = System.currentTimeMillis();
|
long current = System.currentTimeMillis();
|
||||||
|
|||||||
Reference in New Issue
Block a user