From d2a70b159d9fbcd87020a2e2ef814790c25ac347 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Tue, 4 Jul 2023 09:45:32 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E6=97=A0=E7=94=A8=E7=9A=84=E9=87=8D=E5=86=99=20?= =?UTF-8?q?=E5=B7=B2=E6=97=A0=E5=BF=85=E8=A6=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/SaTokenDubbo3ConsumerFilter.java | 51 ------------------- .../filter/SaTokenDubbo3ProviderFilter.java | 42 --------------- 2 files changed, 93 deletions(-) delete mode 100644 ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ConsumerFilter.java delete mode 100644 ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ProviderFilter.java diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ConsumerFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ConsumerFilter.java deleted file mode 100644 index 76484653..00000000 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ConsumerFilter.java +++ /dev/null @@ -1,51 +0,0 @@ -package cn.dev33.satoken.context.dubbo3.filter; - -import cn.dev33.satoken.SaManager; -import cn.dev33.satoken.context.SaTokenContextDefaultImpl; -import cn.dev33.satoken.same.SaSameUtil; -import cn.dev33.satoken.spring.SaBeanInject; -import cn.dev33.satoken.stp.StpUtil; -import cn.dev33.satoken.util.SaTokenConsts; -import org.dromara.common.core.utils.SpringUtils; -import org.apache.dubbo.common.constants.CommonConstants; -import org.apache.dubbo.common.extension.Activate; -import org.apache.dubbo.rpc.*; - -/** - * - * Sa-Token 整合 Dubbo Consumer端过滤器 - * - * 此过滤器为覆盖 Sa-Token 包内过滤器 - * - * @author kong - * - */ -@Activate(group = {CommonConstants.CONSUMER}, order = Integer.MIN_VALUE) -public class SaTokenDubbo3ConsumerFilter implements Filter { - - @Override - public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { - // 强制初始化 Sa-Token 相关配置 解决内网鉴权元数据加载报错问题 - SpringUtils.getBean(SaBeanInject.class); - - // 追加 Id-Token 参数 - if(SaManager.getConfig().getCheckSameToken()) { - RpcContext.getServiceContext().setAttachment(SaSameUtil.SAME_TOKEN, SaSameUtil.getToken()); - } - - // 1. 调用前,向下传递会话Token - if(SaManager.getSaTokenContextOrSecond() != SaTokenContextDefaultImpl.defaultContext) { - RpcContext.getServiceContext().setAttachment(SaTokenConsts.JUST_CREATED, StpUtil.getTokenValueNotCut()); - } - - // 2. 开始调用 - Result invoke = invoker.invoke(invocation); - - // 3. 调用后,解析回传的Token值 - StpUtil.setTokenValue(invoke.getAttachment(SaTokenConsts.JUST_CREATED_NOT_PREFIX)); - - // note - return invoke; - } - -} diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ProviderFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ProviderFilter.java deleted file mode 100644 index 1132a2c0..00000000 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ProviderFilter.java +++ /dev/null @@ -1,42 +0,0 @@ -package cn.dev33.satoken.context.dubbo3.filter; - -import cn.dev33.satoken.SaManager; -import cn.dev33.satoken.same.SaSameUtil; -import cn.dev33.satoken.spring.SaBeanInject; -import org.dromara.common.core.utils.SpringUtils; -import org.apache.dubbo.common.constants.CommonConstants; -import org.apache.dubbo.common.extension.Activate; -import org.apache.dubbo.rpc.*; - -/** - * - * Sa-Token 整合 Dubbo Provider端过滤器 - * - * 此过滤器为覆盖 Sa-Token 包内过滤器 - * - * @author kong - * - */ -@Activate(group = {CommonConstants.PROVIDER}, order = Integer.MIN_VALUE) -public class SaTokenDubbo3ProviderFilter implements Filter { - - @Override - public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { - // 强制初始化 Sa-Token 相关配置 解决内网鉴权元数据加载报错问题 - SpringUtils.getBean(SaBeanInject.class); - - // RPC 调用鉴权 - if(SaManager.getConfig().getCheckSameToken()) { - 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); - } - - // 开始调用 - return invoker.invoke(invocation); - } - -}