public class DefaultUserTokenManager extends Object implements UserTokenManager
| 限定符和类型 | 字段和说明 |
|---|---|
protected ConcurrentMap<String,LocalUserToken> |
tokenStorage |
protected ConcurrentMap<String,Set<String>> |
userStorage |
| 构造器和说明 |
|---|
DefaultUserTokenManager() |
DefaultUserTokenManager(ConcurrentMap<String,LocalUserToken> tokenStorage) |
DefaultUserTokenManager(ConcurrentMap<String,LocalUserToken> tokenStorage,
ConcurrentMap<String,Set<String>> userStorage) |
| 限定符和类型 | 方法和说明 |
|---|---|
reactor.core.publisher.Flux<UserToken> |
allLoggedUser() |
reactor.core.publisher.Mono<Void> |
changeTokenState(String token,
TokenState state)
修改token的状态
|
reactor.core.publisher.Mono<Void> |
changeTokenState(UserToken userToken,
TokenState state) |
reactor.core.publisher.Mono<Void> |
changeUserState(String user,
TokenState state)
修改userId的状态
|
reactor.core.publisher.Mono<Void> |
checkExpiredToken()
检查已过期的token,并将其remove
|
AllopatricLoginMode |
getAllopatricLoginMode() |
reactor.core.publisher.Mono<UserToken> |
getByToken(String token)
根据token获取用户令牌信息
|
reactor.core.publisher.Flux<UserToken> |
getByUserId(String userId)
根据用户id,获取全部令牌信息,如果没有则返回空集合而不是
null |
protected Set<String> |
getUserToken(String userId) |
protected void |
publishEvent(org.springframework.context.ApplicationEvent event) |
void |
setAllopatricLoginMode(AllopatricLoginMode allopatricLoginMode) |
void |
setEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) |
reactor.core.publisher.Mono<UserToken> |
signIn(String token,
String type,
String userId,
long maxInactiveInterval)
登记一个用户的token
|
reactor.core.publisher.Mono<AuthenticationUserToken> |
signIn(String token,
String type,
String userId,
long maxInactiveInterval,
Authentication authentication)
登记一个包含认证信息的token
|
reactor.core.publisher.Mono<Void> |
signOutByToken(String token)
根据token删除
|
reactor.core.publisher.Mono<Void> |
signOutByUserId(String userId)
删除用户授权信息
|
protected void |
syncToken(UserToken userToken)
同步令牌信息,如果使用redisson等来存储token,应该重写此方法并调用
this#tokenStorage.put |
reactor.core.publisher.Mono<Boolean> |
tokenIsLoggedIn(String token) |
reactor.core.publisher.Mono<Integer> |
totalToken() |
reactor.core.publisher.Mono<Integer> |
totalUser() |
reactor.core.publisher.Mono<Void> |
touch(String token)
更新token,使其不过期
|
reactor.core.publisher.Mono<Boolean> |
userIsLoggedIn(String userId) |
protected final ConcurrentMap<String,LocalUserToken> tokenStorage
protected final ConcurrentMap<String,Set<String>> userStorage
public DefaultUserTokenManager()
public DefaultUserTokenManager(ConcurrentMap<String,LocalUserToken> tokenStorage)
public DefaultUserTokenManager(ConcurrentMap<String,LocalUserToken> tokenStorage, ConcurrentMap<String,Set<String>> userStorage)
@Autowired(required=false) public void setEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher)
public void setAllopatricLoginMode(AllopatricLoginMode allopatricLoginMode)
public AllopatricLoginMode getAllopatricLoginMode()
public reactor.core.publisher.Mono<UserToken> getByToken(String token)
UserTokenManagergetByToken 在接口中 UserTokenManagertoken - tokenpublic reactor.core.publisher.Flux<UserToken> getByUserId(String userId)
UserTokenManagernullgetByUserId 在接口中 UserTokenManageruserId - 用户idpublic reactor.core.publisher.Mono<Boolean> userIsLoggedIn(String userId)
userIsLoggedIn 在接口中 UserTokenManageruserId - 用户IDpublic reactor.core.publisher.Mono<Boolean> tokenIsLoggedIn(String token)
tokenIsLoggedIn 在接口中 UserTokenManagertoken - tokenpublic reactor.core.publisher.Mono<Integer> totalUser()
totalUser 在接口中 UserTokenManagerpublic reactor.core.publisher.Mono<Integer> totalToken()
totalToken 在接口中 UserTokenManagerpublic reactor.core.publisher.Flux<UserToken> allLoggedUser()
allLoggedUser 在接口中 UserTokenManagerpublic reactor.core.publisher.Mono<Void> signOutByUserId(String userId)
UserTokenManagersignOutByUserId 在接口中 UserTokenManageruserId - 用户IDpublic reactor.core.publisher.Mono<Void> signOutByToken(String token)
UserTokenManagersignOutByToken 在接口中 UserTokenManagertoken - 令牌UserTokenRemovedEventprotected void publishEvent(org.springframework.context.ApplicationEvent event)
public reactor.core.publisher.Mono<Void> changeTokenState(UserToken userToken, TokenState state)
public reactor.core.publisher.Mono<Void> changeTokenState(String token, TokenState state)
UserTokenManagerchangeTokenState 在接口中 UserTokenManagertoken - tokenstate - 状态UserTokenChangedEventpublic reactor.core.publisher.Mono<Void> changeUserState(String user, TokenState state)
UserTokenManagerchangeUserState 在接口中 UserTokenManageruser - userIdstate - 状态UserTokenChangedEvent,
UserTokenManager.changeTokenState(java.lang.String, org.hswebframework.web.authorization.token.TokenState)public reactor.core.publisher.Mono<UserToken> signIn(String token, String type, String userId, long maxInactiveInterval)
UserTokenManagersignIn 在接口中 UserTokenManagertoken - tokentype - 令牌类型userId - 用户idmaxInactiveInterval - 最大不活动时间(单位毫秒),超过后令牌状态UserToken.getState()将变为过期TokenState.expiredUserTokenCreatedEventpublic reactor.core.publisher.Mono<AuthenticationUserToken> signIn(String token, String type, String userId, long maxInactiveInterval, Authentication authentication)
UserTokenManagersignIn 在接口中 UserTokenManagertoken - tokentype - 令牌类型userId - 用户IDmaxInactiveInterval - 最大不活动时间(单位毫秒),小于0永不过期,超过后令牌状态UserToken.getState()将变为过期TokenState.expiredauthentication - 认证信息public reactor.core.publisher.Mono<Void> touch(String token)
UserTokenManagertouch 在接口中 UserTokenManagertoken - tokenpublic reactor.core.publisher.Mono<Void> checkExpiredToken()
UserTokenManagercheckExpiredToken 在接口中 UserTokenManagerUserTokenManager.signOutByToken(String)protected void syncToken(UserToken userToken)
this#tokenStorage.putuserToken - 令牌Copyright © 2016–2021. All rights reserved.