|
@@ -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;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|