deason 4 년 전
부모
커밋
ea9061f6ff
1개의 변경된 파일54개의 추가작업 그리고 0개의 파일을 삭제
  1. 54 0
      config-center-server/src/main/java/cn/com/qmth/framework/config/center/controller/BaseController.java

+ 54 - 0
config-center-server/src/main/java/cn/com/qmth/framework/config/center/controller/BaseController.java

@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2021 the original author, All Rights Reserved.
+ * Created by Deason on 2021-05-19 10:17:01
+ */
+
+package cn.com.qmth.framework.config.center.controller;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class BaseController {
+
+    protected HttpServletRequest currentRequest() {
+        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+    }
+
+    protected String currentIP(HttpServletRequest request) {
+        String ip = request.getHeader("X-Forwarded-For");
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("x-real-ip");
+        }
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_CLIENT_IP");
+        }
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+        }
+
+        if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+
+        if (StringUtils.isNotEmpty(ip)) {
+            ip = ip.replaceAll("0:0:0:0:0:0:0:1", "127.0.0.1");
+        }
+
+        return ip;
+    }
+
+}