diff --git a/pom.xml b/pom.xml
index f4954cd6..ad7711ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,10 +22,11 @@
sa-token-core
sa-token-starter
sa-token-plugin
-
-
-
-
+ sa-token-demo/sa-token-demo-sso-server-solon
+ sa-token-demo/sa-token-demo-sso1-client-solon
+ sa-token-demo/sa-token-demo-sso2-client-solon
+ sa-token-demo/sa-token-demo-sso3-client-solon
+
diff --git a/sa-token-dependencies/pom.xml b/sa-token-dependencies/pom.xml
index 8388144b..0459feab 100644
--- a/sa-token-dependencies/pom.xml
+++ b/sa-token-dependencies/pom.xml
@@ -24,8 +24,8 @@
6.0.0
3.0.9.RELEASE
2.2.3
- 1.4.5
- 3.2.54
+ 1.4.7
+ 3.2.65
4.9.17
3.14.4
2.5.0
diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java
index 2c95e5bd..2456e1c7 100644
--- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java
+++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisBase64.java
@@ -40,13 +40,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void set(String key, String value, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.store(key, value, (int) timeout);
}
}
@@ -57,10 +51,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
@Override
public void update(String key, String value) {
long expire = getTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.set(key, value, expire);
}
@@ -85,18 +75,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void updateTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.set(key, this.get(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
@@ -113,13 +94,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void setObject(String key, Object object, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.storeAndSerialize(key, object);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.storeAndSerialize(key, object, (int) timeout);
}
}
@@ -130,10 +105,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
@Override
public void updateObject(String key, Object object) {
long expire = getObjectTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.setObject(key, object, expire);
}
@@ -158,18 +129,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void updateObjectTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getObjectTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.setObject(key, this.getObject(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java
index 98ae43a1..922fb80a 100644
--- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java
+++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedisJson.java
@@ -56,13 +56,7 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void set(String key, String value, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.store(key, value, (int) timeout);
}
}
@@ -73,10 +67,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
@Override
public void update(String key, String value) {
long expire = getTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.set(key, value, expire);
}
@@ -101,18 +91,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void updateTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.set(key, this.get(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
@@ -129,12 +110,10 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void setObject(String key, Object object, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
+ String value = ONode.serialize(object);
+ set(key, value, timeout);
}
-
- String value = ONode.serialize(object);
- set(key, value, timeout);
}
/**
@@ -143,10 +122,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
@Override
public void updateObject(String key, Object object) {
long expire = getObjectTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.setObject(key, object, expire);
}
@@ -171,18 +146,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void updateObjectTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getObjectTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.setObject(key, this.getObject(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisBase64.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisBase64.java
index bca0e62f..2f6a4a26 100644
--- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisBase64.java
+++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisBase64.java
@@ -41,13 +41,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void set(String key, String value, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.store(key, value, (int) timeout);
}
}
@@ -58,10 +52,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
@Override
public void update(String key, String value) {
long expire = getTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.set(key, value, expire);
}
@@ -86,18 +76,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void updateTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.set(key, this.get(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
@@ -114,13 +95,7 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void setObject(String key, Object object, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.storeAndSerialize(key, object);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.storeAndSerialize(key, object, (int) timeout);
}
}
@@ -131,10 +106,6 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
@Override
public void updateObject(String key, Object object) {
long expire = getObjectTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.setObject(key, object, expire);
}
@@ -159,18 +130,9 @@ public class SaTokenDaoOfRedisBase64 implements SaTokenDao {
*/
@Override
public void updateObjectTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getObjectTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.setObject(key, this.getObject(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
diff --git a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisJson.java b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisJson.java
index fdddbb03..2fba0461 100644
--- a/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisJson.java
+++ b/sa-token-starter/sa-token-solon-plugin/src/main/java/cn/dev33/satoken/solon/dao/SaTokenDaoOfRedisJson.java
@@ -57,13 +57,7 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void set(String key, String value, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
- // 判断是否为永不过期
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- redisBucket.store(key, value, (int) SaTokenDao.NEVER_EXPIRE);
- } else {
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
redisBucket.store(key, value, (int) timeout);
}
}
@@ -74,10 +68,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
@Override
public void update(String key, String value) {
long expire = getTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.set(key, value, expire);
}
@@ -102,18 +92,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void updateTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.set(key, this.get(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}
@@ -130,12 +111,10 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void setObject(String key, Object object, long timeout) {
- if (timeout == 0 || timeout <= SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
+ if (timeout > 0 || timeout == SaTokenDao.NEVER_EXPIRE) {
+ String value = ONode.serialize(object);
+ set(key, value, timeout);
}
-
- String value = ONode.serialize(object);
- set(key, value, timeout);
}
/**
@@ -144,10 +123,6 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
@Override
public void updateObject(String key, Object object) {
long expire = getObjectTimeout(key);
- // -2 = 无此键
- if (expire == SaTokenDao.NOT_VALUE_EXPIRE) {
- return;
- }
this.setObject(key, object, expire);
}
@@ -172,18 +147,9 @@ public class SaTokenDaoOfRedisJson implements SaTokenDao {
*/
@Override
public void updateObjectTimeout(String key, long timeout) {
- // 判断是否想要设置为永久
- if (timeout == SaTokenDao.NEVER_EXPIRE) {
- long expire = getObjectTimeout(key);
- if (expire == SaTokenDao.NEVER_EXPIRE) {
- // 如果其已经被设置为永久,则不作任何处理
- } else {
- // 如果尚未被设置为永久,那么再次set一次
- this.setObject(key, this.getObject(key), timeout);
- }
- return;
+ if (redisBucket.exists(key)) {
+ redisBucket.delay(key, (int) timeout);
}
- redisBucket.delay(key, (int) timeout);
}