From a27146d4003c87e225ba68aed78ab03b9c12877f Mon Sep 17 00:00:00 2001 From: xmzhao71 Date: Fri, 15 Sep 2023 11:36:06 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E5=A4=8D=E5=90=8C?= =?UTF-8?q?=E4=B8=80ip=E4=B8=8B=E8=BF=9B=E8=A1=8C=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E9=87=8D=E5=A4=8D=E6=93=8D=E4=BD=9C=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/interceptor/RequestInterceptor.java | 10 +++++++++- .../java/com/iformall/common/RequestConstant.java | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 mallinkService/src/main/java/com/iformall/common/RequestConstant.java diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java index 85debd4cf..587c97afb 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/RequestInterceptor.java @@ -1,10 +1,12 @@ package com.iformall.interceptor; import com.iformall.common.ErrorCode; +import com.iformall.common.RequestConstant; import com.iformall.exception.MallinkException; import com.iformall.utils.HashUtil; import com.iformall.utils.IPUtil; import com.iformall.utils.UrlCheck; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.dao.DataAccessException; @@ -58,12 +60,18 @@ public class RequestInterceptor extends HandlerInterceptorAdapter { } StringBuilder sb = new StringBuilder(); - sb.append(url); + sb.append(url).append("?"); sb.append("method=").append(request.getMethod()).append("&"); sb.append("ip=").append(ipaddress).append("&"); + // 加入token,避免同一ip下不同用户签名一致提示重复操作。 + String token = request.getHeader(RequestConstant.TOKEN); + if (StringUtils.isNotBlank(token)) { + sb.append("token=").append(token).append("&"); + } + final Enumeration parameterNames = request.getParameterNames(); while (parameterNames.hasMoreElements()) { String key = (String) parameterNames.nextElement(); diff --git a/mallinkService/src/main/java/com/iformall/common/RequestConstant.java b/mallinkService/src/main/java/com/iformall/common/RequestConstant.java new file mode 100644 index 000000000..9a0fdd307 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/common/RequestConstant.java @@ -0,0 +1,13 @@ +package com.iformall.common; + +/** + * 请求相关常量 + * @author xmzhao71 + * @date 2023-09-15 + */ +public interface RequestConstant { + /** + * 小程序请求头token + */ + String TOKEN = "token"; +}