修改获取客户端地址的问题。
This commit is contained in:
parent
c3d570a3f3
commit
9ee75303cc
|
|
@ -12,7 +12,7 @@ import com.electromagnetic.industry.software.common.util.TokenUtil;
|
|||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||
import com.electromagnetic.industry.software.manage.mapper.TokenMapper;
|
||||
import com.electromagnetic.industry.software.manage.mapper.UserAccessLogMapper;
|
||||
import com.electromagnetic.industry.software.manage.mapper.UserMapper;
|
||||
import org.springframework.web.util.WebUtils;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.Token;
|
||||
import com.electromagnetic.industry.software.manage.pojo.models.UserAccessLog;
|
||||
import io.jsonwebtoken.Claims;
|
||||
|
|
@ -117,7 +117,7 @@ public class LoginInterceptor implements HandlerInterceptor {
|
|||
.action(userOperation.value())
|
||||
.requestUrl(request.getRequestURL().toString())
|
||||
.reqArgs(reqArgs)
|
||||
.remoteAddr(request.getRemoteAddr())
|
||||
.remoteAddr(getRealIp(request))
|
||||
.accessSuccess(true)
|
||||
.createTime(new Date())
|
||||
.operationModule(userOperation.modelName().key)
|
||||
|
|
@ -141,4 +141,21 @@ public class LoginInterceptor implements HandlerInterceptor {
|
|||
Date now = new Date(SystemClock.now());
|
||||
return token != null && now.before(token.getExpireAt());
|
||||
}
|
||||
|
||||
private static String getRealIp(HttpServletRequest request) {
|
||||
String ipAddress = request.getHeader("X-Forwarded-For");
|
||||
if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
|
||||
// 回退到X-Real-IP或直接RemoteAddr
|
||||
ipAddress = request.getHeader("X-Real-IP");
|
||||
}
|
||||
if (ipAddress == null || ipAddress.isEmpty() || "unknown".equalsIgnoreCase(ipAddress)) {
|
||||
ipAddress = request.getRemoteAddr();
|
||||
}
|
||||
// 处理多级代理的情况(取第一个IP)
|
||||
if (ipAddress.contains(",")) {
|
||||
ipAddress = ipAddress.split(",")[0].trim();
|
||||
}
|
||||
return ipAddress;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue