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

fix 修复 dubbo 使用 tri 协议 header 请求头变为小写导致无法获取参数问题

疯狂的狮子li 3 лет назад
Родитель
Сommit
d841ecee9c

+ 4 - 0
ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java

@@ -28,6 +28,10 @@ public class SaTokenDubboProviderFilter implements Filter {
         // RPC 调用鉴权
         // RPC 调用鉴权
 		if(SaManager.getConfig().getCheckSameToken()) {
 		if(SaManager.getConfig().getCheckSameToken()) {
 			String idToken = invocation.getAttachment(SaSameUtil.SAME_TOKEN);
 			String idToken = invocation.getAttachment(SaSameUtil.SAME_TOKEN);
+            // dubbo部分协议会将参数变为小写,详细参考:https://gitee.com/dromara/sa-token/issues/I4WXQG
+            if(idToken == null) {
+                idToken = invocation.getAttachment(SaSameUtil.SAME_TOKEN.toLowerCase());
+            }
             SaSameUtil.checkToken(idToken);
             SaSameUtil.checkToken(idToken);
 		}
 		}