diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/DefaultUserTokenManager.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/DefaultUserTokenManager.java index d4e55d0bb..67359103e 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/DefaultUserTokenManager.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/DefaultUserTokenManager.java @@ -135,7 +135,7 @@ public class DefaultUserTokenManager implements UserTokenManager { return false; } for (UserToken userToken : getByUserId(userId)) { - if (userToken.isEffective()) { + if (userToken.isNormal()) { return true; } } @@ -247,7 +247,7 @@ public class DefaultUserTokenManager implements UserTokenManager { .filter(userToken -> type.equals(userToken.getType())) .map(SimpleUserToken.class::cast) .peek(this::checkTimeout) - .anyMatch(UserToken::isEffective); + .anyMatch(UserToken::isNormal); if (hasAnotherToken) { throw new AccessDenyException("该用户已在其他地方登陆"); } @@ -261,7 +261,7 @@ public class DefaultUserTokenManager implements UserTokenManager { } } } - detail.setState(TokenState.effective); + detail.setState(TokenState.normal); tokenStorage.put(token, detail); getUserToken(userId).add(token); diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/TokenState.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/TokenState.java index 95ac6deb1..1e627b108 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/TokenState.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/TokenState.java @@ -13,8 +13,14 @@ public enum TokenState implements EnumDict { /** * 正常,有效 */ + @Deprecated effective("effective", "正常"), + /** + * 正常,有效 + */ + normal("normal","正常"), + /** * 已被禁止访问 */ @@ -27,6 +33,7 @@ public enum TokenState implements EnumDict { /** * 已被踢下线 + * @see AllopatricLoginMode#offlineOther */ offline("offline", "用户已在其他地方登录"), @@ -35,7 +42,6 @@ public enum TokenState implements EnumDict { */ lock("lock", "登录状态已被锁定"); - private String value; private String text; diff --git a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/UserToken.java b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/UserToken.java index c28d061a2..7d7c43dbe 100644 --- a/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/UserToken.java +++ b/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/token/UserToken.java @@ -54,8 +54,13 @@ public interface UserToken extends Serializable, Comparable { /** * @return 是否正常 */ + @Deprecated default boolean isEffective() { - return getState() == TokenState.effective; + return isNormal(); + } + + default boolean isNormal() { + return getState() == TokenState.normal; } /** @@ -72,8 +77,17 @@ public interface UserToken extends Serializable, Comparable { return getState() == TokenState.offline; } + default boolean isLock() { + return getState() == TokenState.lock; + } + + default boolean isDeny() { + return getState() == TokenState.deny; + } + + default boolean validate() { - if (!isEffective()) { + if (!isNormal()) { throw new UnAuthorizedException(getState()); } return true; @@ -81,6 +95,9 @@ public interface UserToken extends Serializable, Comparable { @Override default int compareTo(UserToken target) { - return Long.valueOf(getSignInTime()).compareTo(target.getSignInTime()); + if (target == null) { + return 0; + } + return Long.compare(getSignInTime(), target.getSignInTime()); } }