1:补充向阀门中添加特殊属性的业务

2:修改request获取ip的方式(前面接的有nginx直接用request.getRemoteAddr无法获取到)
This commit is contained in:
renkaige
2018-12-15 10:43:09 +06:00
parent b88f2815f4
commit 736ec03da9
10 changed files with 115 additions and 113 deletions

View File

@@ -174,9 +174,24 @@ public class AuditLogThread implements Runnable {
return sb.toString();
}
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
public static AuditLogThread getNewSaveRequestLogThread(HttpServletRequest request) {
AuditLogThread thread = new AuditLogThread();
thread.setRemoteAddr(request.getRemoteAddr());
thread.setRemoteAddr(getIpAddr(request));
thread.setRequestURI(request.getRequestURI());
if (request.getMethod().toLowerCase().equals("get")) {
thread.setQueryString(request.getQueryString());