From 1d4639ec0b9bc21d1bf6c93ef24d0532141fd023 Mon Sep 17 00:00:00 2001 From: shengzhang <2393584716@qq.com> Date: Fri, 26 Mar 2021 00:12:12 +0800 Subject: [PATCH] =?UTF-8?q?SaCheckAspect=20=E6=A0=87=E6=B3=A8=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E9=A1=BA=E5=BA=8F=E4=B8=BA-1=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E8=AF=81=E6=89=A7=E8=A1=8C=E5=9C=A8=E6=89=80=E6=9C=89=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=88=87=E9=9D=A2=E7=9A=84=E5=89=8D=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/dev33/satoken/session/SaSession.java | 59 +++++++++++-------- .../cn/dev33/satoken/aop/SaCheckAspect.java | 9 ++- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java index 16bc8ae3..f8d0bd1c 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/session/SaSession.java @@ -240,13 +240,13 @@ public class SaSession implements Serializable { // ----------------------- 一些操作 /** - * 将这个Session从持久库更新一下 + * 更新Session(从持久库更新刷新一下) */ public void update() { SaTokenManager.getSaTokenDao().updateSession(this); } - /** 注销会话 (注销后,此session会话将不再存储服务器上) */ + /** 注销Session (从持久库删除) */ public void logout() { SaTokenManager.getSaTokenDao().deleteSession(this.id); } @@ -298,28 +298,7 @@ public class SaSession implements Serializable { // ----------------------- 存取值 (类型转换) - /** - * 写值 - * @param key 名称 - * @param value 值 - */ - public void set(String key, Object value) { - dataMap.put(key, value); - update(); - } - - /** - * 写值(只有在此key原本无值的时候才会写入) - * @param key 名称 - * @param value 值 - */ - public void setDefaultValue(String key, Object value) { - if(has(key) == false) { - dataMap.put(key, value); - update(); - } - } - + // ---- 取值 /** * 取值 * @param key key @@ -418,6 +397,33 @@ public class SaSession implements Serializable { return getValueByClass(value, cs); } + // ---- 其他 + /** + * 写值 + * @param key 名称 + * @param value 值 + * @return 对象自身 + */ + public SaSession set(String key, Object value) { + dataMap.put(key, value); + update(); + return this; + } + + /** + * 写值(只有在此key原本无值的时候才会写入) + * @param key 名称 + * @param value 值 + * @return 对象自身 + */ + public SaSession setDefaultValue(String key, Object value) { + if(has(key) == false) { + dataMap.put(key, value); + update(); + } + return this; + } + /** * 是否含有某个key * @param key has @@ -430,12 +436,13 @@ public class SaSession implements Serializable { /** * 删值 * @param key 要删除的key + * @return 对象自身 */ - public void delete(String key) { + public SaSession delete(String key) { dataMap.remove(key); update(); + return this; } - // --------- 工具方法 diff --git a/sa-token-spring-aop/src/main/java/cn/dev33/satoken/aop/SaCheckAspect.java b/sa-token-spring-aop/src/main/java/cn/dev33/satoken/aop/SaCheckAspect.java index 7cce08de..d60a48a7 100644 --- a/sa-token-spring-aop/src/main/java/cn/dev33/satoken/aop/SaCheckAspect.java +++ b/sa-token-spring-aop/src/main/java/cn/dev33/satoken/aop/SaCheckAspect.java @@ -5,6 +5,7 @@ import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.reflect.MethodSignature; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import cn.dev33.satoken.stp.StpLogic; @@ -17,8 +18,14 @@ import cn.dev33.satoken.stp.StpUtil; */ @Aspect @Component +@Order(SaCheckAspect.aspectOrder) public class SaCheckAspect { - + + /** + * 切面执行顺序 + */ + public static final int aspectOrder = -1; + /** * 构建 */