From 646423a3941433083d7088057f9d56c7805e1208 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, 15 Jun 2022 17:02:13 +0800 Subject: [PATCH] =?UTF-8?q?reset=20=E5=9B=9E=E6=BB=9A=20InnerExclude=20?= =?UTF-8?q?=E6=B3=A8=E8=A7=A3=E7=9B=B8=E5=85=B3=E6=8F=90=E4=BA=A4=20?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E7=90=86=E8=A7=A3=E4=BA=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/annotation/InnerExclude.java | 15 --------------- .../filter/SaTokenDubboConsumerFilter.java | 17 +---------------- .../filter/SaTokenDubboProviderFilter.java | 15 --------------- 3 files changed, 1 insertion(+), 46 deletions(-) delete mode 100644 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/InnerExclude.java diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/InnerExclude.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/InnerExclude.java deleted file mode 100644 index 13b91e96..00000000 --- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/annotation/InnerExclude.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.ruoyi.common.core.annotation; - -import java.lang.annotation.*; - -/** - * dubbo 内网鉴权放行 - * - * @author Lion Li - */ -@Inherited -@Target({ElementType.METHOD, ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface InnerExclude { -} diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java index 8ea566f7..4023dda9 100644 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java +++ b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboConsumerFilter.java @@ -6,16 +6,11 @@ import cn.dev33.satoken.id.SaIdUtil; import cn.dev33.satoken.spring.SaBeanInject; import cn.dev33.satoken.stp.StpUtil; import cn.dev33.satoken.util.SaTokenConsts; -import cn.hutool.core.annotation.AnnotationUtil; -import com.ruoyi.common.core.annotation.InnerExclude; import com.ruoyi.common.core.utils.SpringUtils; -import lombok.SneakyThrows; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.extension.Activate; import org.apache.dubbo.rpc.*; -import java.lang.reflect.Method; - /** * * Sa-Token 整合 Dubbo Consumer端过滤器 @@ -28,7 +23,6 @@ import java.lang.reflect.Method; @Activate(group = {CommonConstants.CONSUMER}, order = Integer.MIN_VALUE) public class SaTokenDubboConsumerFilter implements Filter { - @SneakyThrows(NoSuchMethodException.class) @Override public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { // 强制初始化 Sa-Token 相关配置 解决内网鉴权元数据加载报错问题 @@ -36,16 +30,7 @@ public class SaTokenDubboConsumerFilter implements Filter { // 追加 Id-Token 参数 if(SaManager.getConfig().getCheckIdToken()) { - Class clazz = invoker.getInterface(); - Method method = clazz.getMethod(invocation.getMethodName(), invocation.getParameterTypes()); - // 检查是否有内网鉴权排除注解 - if (AnnotationUtil.hasAnnotation(clazz, InnerExclude.class) - || AnnotationUtil.hasAnnotation(method, InnerExclude.class)) { - // 不传递 Id-Token - } else { - RpcContext.getServiceContext().setAttachment(SaIdUtil.ID_TOKEN, SaIdUtil.getToken()); - } - + RpcContext.getServiceContext().setAttachment(SaIdUtil.ID_TOKEN, SaIdUtil.getToken()); } // 1. 调用前,向下传递会话Token diff --git a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java index 6c1e445d..1a3b3346 100644 --- a/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java +++ b/ruoyi-common/ruoyi-common-dubbo/src/main/java/cn/dev33/satoken/context/dubbo/filter/SaTokenDubboProviderFilter.java @@ -3,16 +3,11 @@ package cn.dev33.satoken.context.dubbo.filter; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.id.SaIdUtil; import cn.dev33.satoken.spring.SaBeanInject; -import cn.hutool.core.annotation.AnnotationUtil; -import com.ruoyi.common.core.annotation.InnerExclude; import com.ruoyi.common.core.utils.SpringUtils; -import lombok.SneakyThrows; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.extension.Activate; import org.apache.dubbo.rpc.*; -import java.lang.reflect.Method; - /** * * Sa-Token 整合 Dubbo Provider端过滤器 @@ -25,7 +20,6 @@ import java.lang.reflect.Method; @Activate(group = {CommonConstants.PROVIDER}, order = Integer.MIN_VALUE) public class SaTokenDubboProviderFilter implements Filter { - @SneakyThrows(NoSuchMethodException.class) @Override public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { // 强制初始化 Sa-Token 相关配置 解决内网鉴权元数据加载报错问题 @@ -33,15 +27,6 @@ public class SaTokenDubboProviderFilter implements Filter { // RPC 调用鉴权 if(SaManager.getConfig().getCheckIdToken()) { - - Class clazz = invoker.getInterface(); - Method method = clazz.getMethod(invocation.getMethodName(), invocation.getParameterTypes()); - // 检查是否有内网鉴权排除注解 - if (AnnotationUtil.hasAnnotation(clazz, InnerExclude.class) - || AnnotationUtil.hasAnnotation(method, InnerExclude.class)) { - return invoker.invoke(invocation); - } - String idToken = invocation.getAttachment(SaIdUtil.ID_TOKEN); SaIdUtil.checkToken(idToken); }