From 7a1095c72f79d52e00cf9b6bf54d5492c692501b Mon Sep 17 00:00:00 2001 From: click33 <2393584716@qq.com> Date: Fri, 11 Apr 2025 03:37:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20temp=20token=20=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=91=BD=E5=90=8D=E7=A9=BA=E9=97=B4=E5=B1=9E?= =?UTF-8?q?=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/dev33/satoken/temp/SaTempTemplate.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/temp/SaTempTemplate.java b/sa-token-core/src/main/java/cn/dev33/satoken/temp/SaTempTemplate.java index 83bf3e7f..1af75553 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/temp/SaTempTemplate.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/temp/SaTempTemplate.java @@ -37,16 +37,42 @@ import java.util.*; */ public class SaTempTemplate { + /** + *默认命名空间 + */ + public static final String DEFAULT_NAMESPACE = "temp-token"; + + /** + * 命名空间 + */ + public String namespace; + /** * Raw Session 读写委托 */ - public SaRawSessionDelegator rawSessionDelegator = new SaRawSessionDelegator("temp-token"); + public SaRawSessionDelegator rawSessionDelegator; /** * 在 raw-session 中的保存索引列表使用的 key */ public static final String TEMP_TOKEN_MAP = "__HD_TEMP_TOKEN_MAP"; + public SaTempTemplate(){ + this(DEFAULT_NAMESPACE); + } + + /** + * 实例化 + * @param namespace 命名空间,用于多实例隔离 + */ + public SaTempTemplate(String namespace){ + if(SaFoxUtil.isEmpty(namespace)) { + throw new SaTokenException("namespace 不能为空"); + } + this.namespace = namespace; + this.rawSessionDelegator = new SaRawSessionDelegator(namespace); + } + // -------- 创建 @@ -393,7 +419,7 @@ public class SaTempTemplate { * @return key */ public String splicingTempTokenSaveKey(String token) { - return SaManager.getConfig().getTokenName() + ":temp-token:" + token; + return SaManager.getConfig().getTokenName() + ":" + namespace + ":" + token; } /**