From 72001f721ec24b8f817f22cbef4552ce8f827c48 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: Wed, 25 Jun 2025 17:14:15 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E4=B9=8B=E5=89=8D=E4=B8=B4=E6=97=B6=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?bug=E7=9A=84=E7=B1=BB=20satoken=E5=AE=98=E6=96=B9=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/SaTokenDubbo3ConsumerFilter.java | 65 ------------------- .../filter/SaTokenDubbo3ContextFilter.java | 49 -------------- 2 files changed, 114 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/SaTokenDubbo3ContextFilter.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 6257217c..00000000 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ConsumerFilter.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright 2020-2099 sa-token.cc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.dev33.satoken.context.dubbo3.filter; - -import cn.dev33.satoken.SaManager; -import cn.dev33.satoken.context.SaHolder; -import cn.dev33.satoken.context.SaTokenContextDefaultImpl; -import cn.dev33.satoken.same.SaSameUtil; -import cn.dev33.satoken.stp.StpUtil; -import cn.dev33.satoken.util.SaTokenConsts; -import org.apache.dubbo.common.constants.CommonConstants; -import org.apache.dubbo.common.extension.Activate; -import org.apache.dubbo.rpc.*; - -/** - * Sa-Token 整合 Dubbo3 Consumer 端(调用端)过滤器 - * - * @author click33 - * @since 1.34.0 - */ -@Activate(group = {CommonConstants.CONSUMER}, order = SaTokenConsts.RPC_PERMISSION_FILTER_ORDER) -public class SaTokenDubbo3ConsumerFilter implements Filter { - - @Override - public Result invoke(Invoker invoker, Invocation invocation) { - - // 追加 Same-Token 参数 - if(SaManager.getConfig().getCheckSameToken()) { - RpcContext.getServiceContext().setAttachment(SaSameUtil.SAME_TOKEN,SaSameUtil.getToken()); - } - - // 无上下文直接跳过下面流程 - if (!SaHolder.getContext().isValid()) { - return invoker.invoke(invocation); - } - - // 1. 调用前,向下传递会话Token - if(SaManager.getSaTokenContext() != 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/SaTokenDubbo3ContextFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ContextFilter.java deleted file mode 100644 index 341019ca..00000000 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo3/filter/SaTokenDubbo3ContextFilter.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright 2020-2099 sa-token.cc - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package cn.dev33.satoken.context.dubbo3.filter; - -import cn.dev33.satoken.SaManager; -import cn.dev33.satoken.context.SaHolder; -import cn.dev33.satoken.context.dubbo3.util.SaTokenContextDubbo3Util; -import cn.dev33.satoken.util.SaTokenConsts; -import org.apache.dubbo.common.constants.CommonConstants; -import org.apache.dubbo.common.extension.Activate; -import org.apache.dubbo.rpc.*; - -/** - * Sa-Token 整合 Dubbo3 上下文初始化过滤器 - * - * @author click33 - * @since 1.42.0 - */ -@Activate(group = {CommonConstants.PROVIDER}, order = SaTokenConsts.RPC_CONTEXT_FILTER_ORDER) -public class SaTokenDubbo3ContextFilter implements Filter { - - @Override - public Result invoke(Invoker invoker, Invocation invocation) { - if (SaHolder.getContext().isValid()) { - return invoker.invoke(invocation); - } else { - try { - SaTokenContextDubbo3Util.setContext(RpcContext.getServiceContext()); - return invoker.invoke(invocation); - } finally { - SaManager.getSaTokenContext().clearContext(); - } - } - } - -}