fix: 优化SimpleUserTransmit,数据编码改为base64
diff --git a/common/core/pom.xml b/common/core/pom.xml
index dcfe763..ad793bd 100644
--- a/common/core/pom.xml
+++ b/common/core/pom.xml
@@ -55,6 +55,11 @@
</dependency>
<dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/feign/SimpleUserTransmitRequestInterceptor.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/feign/SimpleUserTransmitRequestInterceptor.java
index be002db..903219f 100644
--- a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/feign/SimpleUserTransmitRequestInterceptor.java
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/feign/SimpleUserTransmitRequestInterceptor.java
@@ -1,9 +1,9 @@
package com.supwisdom.institute.backend.common.core.transmit.feign;
-import java.net.URLDecoder;
-
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.binary.Base64;
+
import com.alibaba.fastjson.JSONObject;
import com.supwisdom.institute.backend.common.core.transmit.user.User;
import com.supwisdom.institute.backend.common.core.transmit.user.UserContext;
@@ -20,10 +20,14 @@
if (user != null) {
try {
String jsonUser = JSONObject.toJSONString(user);
- String headerValue = new String(URLDecoder.decode(jsonUser,"UTF-8"));
+
+ //String headerValue = new String(URLDecoder.decode(jsonUser,"UTF-8"));
+ String headerValue = Base64.encodeBase64String(jsonUser.getBytes("UTF-8"));
+
template.header(UserContext.KEY_USER_IN_HTTP_HEADER, headerValue);
+ log.debug("User set to feign header: ok");
} catch (Exception e) {
- log.warn("User set error", e);
+ log.warn("User set to feign header: error", e);
}
}
}
diff --git a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/filter/SimpleUserTransmitFilter.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/filter/SimpleUserTransmitFilter.java
index 7d99859..644e4f6 100644
--- a/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/filter/SimpleUserTransmitFilter.java
+++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/transmit/filter/SimpleUserTransmitFilter.java
@@ -1,7 +1,6 @@
package com.supwisdom.institute.backend.common.core.transmit.filter;
import java.io.IOException;
-import java.net.URLDecoder;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
@@ -11,6 +10,7 @@
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
+import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import com.alibaba.fastjson.JSON;
@@ -35,15 +35,17 @@
log.debug("Header {} is: {}", UserContext.KEY_USER_IN_HTTP_HEADER, headerValue);
if (StringUtils.isNotBlank(headerValue)) {
try {
- String jsonUser = URLDecoder.decode(headerValue,"UTF-8");
+ //String jsonUser = URLDecoder.decode(headerValue,"UTF-8");
+ String jsonUser = new String(Base64.decodeBase64(headerValue), "UTF-8");
log.debug("jsonUser is: {}", jsonUser);
User user = JSON.parseObject(jsonUser, User.class);
log.debug("User is: {}", user);
UserContext.setUser(user);
+ log.debug("User get from header: ok");
} catch (Exception e) {
- log.warn("User get error", e);
+ log.warn("User get from header: error", e);
}
}