Просмотр исходного кода

优化签名算法,get是只对参数做鉴权 取消url 因为nginx代理时https 服务端获取到的是http

java110 лет назад: 5
Родитель
Сommit
6be305a19f

+ 6 - 1
java110-core/src/main/java/com/java110/core/factory/AuthenticationFactory.java

@@ -90,9 +90,14 @@ public class AuthenticationFactory {
             throw new NoAuthorityException(ResponseConstant.RESULT_CODE_NO_AUTHORITY_ERROR, "MD5签名过程中出现错误");
         }
         String reqInfo = dataFlow.getTransactionId() + dataFlow.getRequestTime() + dataFlow.getAppId();
+        String url = dataFlow.getRequestHeaders().get("REQUEST_URL");
+        String param = "";
+        if(url.indexOf("?") > 0){
+            param = url.substring(url.indexOf("?"));
+        }
         //,DELETE
         reqInfo += "GET".equals(dataFlow.getRequestHeaders().get(CommonConstant.HTTP_METHOD)) ?
-                dataFlow.getRequestHeaders().get("REQUEST_URL") : dataFlow.getReqData();
+                param : dataFlow.getReqData();
         reqInfo += dataFlow.getAppRoutes().get(0).getSecurityCode();
         return md5(reqInfo);
     }