From 5ade90debf9136f088a4dd89e1c14c0bf790586a Mon Sep 17 00:00:00 2001
From: 若依 <yzz_ivy@163.com>
Date: 星期日, 29 八月 2021 15:36:57 +0800
Subject: [PATCH] !299 XssHttpServletRequestWrapper中增加available方法 Merge pull request !299 from Ming/master
---
ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
index 36e6c10..3e82309 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
@@ -51,8 +51,12 @@
@Override
public boolean isRepeatSubmit(HttpServletRequest request)
{
- RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request;
- String nowParams = HttpHelper.getBodyString(repeatedlyRequest);
+ String nowParams = "";
+ if (request instanceof RepeatedlyRequestWrapper)
+ {
+ RepeatedlyRequestWrapper repeatedlyRequest = (RepeatedlyRequestWrapper) request;
+ nowParams = HttpHelper.getBodyString(repeatedlyRequest);
+ }
// body鍙傛暟涓虹┖锛岃幏鍙朠arameter鐨勬暟鎹�
if (StringUtils.isEmpty(nowParams))
@@ -66,10 +70,17 @@
// 璇锋眰鍦板潃锛堜綔涓哄瓨鏀綾ache鐨刱ey鍊硷級
String url = request.getRequestURI();
- // 鍞竴鏍囪瘑锛堟寚瀹歬ey + 娑堟伅澶达級
- String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + request.getHeader(header);
+ // 鍞竴鍊硷紙娌℃湁娑堟伅澶村垯浣跨敤璇锋眰鍦板潃锛�
+ String submitKey = request.getHeader(header);
+ if (StringUtils.isEmpty(submitKey))
+ {
+ submitKey = url;
+ }
- Object sessionObj = redisCache.getCacheObject(cache_repeat_key);
+ // 鍞竴鏍囪瘑锛堟寚瀹歬ey + 娑堟伅澶达級
+ String cacheRepeatKey = Constants.REPEAT_SUBMIT_KEY + submitKey;
+
+ Object sessionObj = redisCache.getCacheObject(cacheRepeatKey);
if (sessionObj != null)
{
Map<String, Object> sessionMap = (Map<String, Object>) sessionObj;
@@ -84,7 +95,7 @@
}
Map<String, Object> cacheMap = new HashMap<String, Object>();
cacheMap.put(url, nowDataMap);
- redisCache.setCacheObject(cache_repeat_key, cacheMap, intervalTime, TimeUnit.SECONDS);
+ redisCache.setCacheObject(cacheRepeatKey, cacheMap, intervalTime, TimeUnit.SECONDS);
return false;
}
--
Gitblit v1.9.3