From de27d08824c52931c7dd775074b5793ac32ee5ca Mon Sep 17 00:00:00 2001 From: noear Date: Sat, 7 Dec 2024 13:21:12 +0800 Subject: [PATCH] =?UTF-8?q?sa-token-solon-plugin=20=E4=BC=98=E5=8C=96=20Sa?= =?UTF-8?q?TokenFilter=20=E8=8E=B7=E5=8F=96=E4=B8=BB=E5=A4=84=E7=90=86?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/dev33/satoken/solon/integration/SaTokenFilter.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java index f8658586..0ebfecda 100644 --- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java +++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/integration/SaTokenFilter.java @@ -151,8 +151,12 @@ public class SaTokenFilter implements SaFilter, Filter { //之所以改名,为 @Override public void doFilter(Context ctx, FilterChain chain) throws Throwable { try { - //查找当前主处理 - Handler mainHandler = Solon.app().router().matchMain(ctx); + //查找当前主处理(在网关内用时,可直接获取缓存) + Handler mainHandler = ctx.mainHandler(); + if (mainHandler == null) { + mainHandler = Solon.app().router().matchMain(ctx); + } + if (mainHandler instanceof Gateway) { //支持网关处理 Gateway gateway = (Gateway) mainHandler;