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-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); }