Procházet zdrojové kódy

check if sign is empty while get it from header

xuchaolang před 7 roky
rodič
revize
c3df828bef

+ 12 - 1
rankin-api-web/src/main/java/cn/rankin/apiweb/assist/resolver/RequestHeaderResolver.java

@@ -10,6 +10,8 @@ import org.springframework.web.context.request.NativeWebRequest;
 import org.springframework.web.method.support.HandlerMethodArgumentResolver;
 import org.springframework.web.method.support.ModelAndViewContainer;
 
+import java.util.Optional;
+
 /**
  * @author Tomas
  * @date 2016-07-17
@@ -28,9 +30,18 @@ public class RequestHeaderResolver implements HandlerMethodArgumentResolver {
             GlobalHeader globalHeader = new GlobalHeader();
             globalHeader.setUid(nativeWebRequest.getHeader("uid"));
             globalHeader.setEid(nativeWebRequest.getHeader("eid"));
-            globalHeader.setSign(nativeWebRequest.getHeader("sign"));
             globalHeader.setRequestId(nativeWebRequest.getHeader("requestId"));
             globalHeader.setTerminal(nativeWebRequest.getHeader("terminal"));
+
+            //To be compatible with 2.x app version, if sign not exist, use Authenciation
+            String sign = nativeWebRequest.getHeader("sign");
+            if (null != sign && !sign.isEmpty()){
+                globalHeader.setSign(sign);
+            }
+            else{
+                globalHeader.setSign(Optional.ofNullable(nativeWebRequest.getHeader("Authentication")).orElse(""));
+            }
+
             return globalHeader;
         }
         return null;

+ 2 - 1
rankin-api-web/src/main/java/cn/rankin/apiweb/utils/RequestHeaderManager.java

@@ -14,7 +14,8 @@ public class RequestHeaderManager {
         globalHeader.setTerminal(Optional.ofNullable(getRequestParameter(request, "terminal")).orElse("").toLowerCase());
 
         //To be compatible with android app 2.x version, if sign not exist, use Authentication
-        if(null != getRequestParameter(request, "sign")){
+        String sign = getRequestParameter(request, "sign");
+        if(null != sign && !sign.isEmpty()){
             globalHeader.setSign(getRequestParameter(request, "sign"));
         }
         else{