提交 e73832d5 编写于 作者: M MaxKey

Concurrent refresh Problem

上级 8aac7a7b
......@@ -124,9 +124,12 @@ public class AuthJwtService {
JWTClaimsSet claims = resolve(authToken);
boolean isExpiration = claims.getExpirationTime().after(DateTime.now().toDate());
boolean isVerify = hmac512Service.verify(authToken);
_logger.debug("JWT Validate {} , Verify {} , now {} , ExpirationTime {} , isExpiration : {}" ,
isVerify && isExpiration,isVerify,DateTime.now().toDate(),claims.getExpirationTime(),isExpiration);
_logger.debug("JWT Validate {} " , isVerify && isExpiration);
if(!(isVerify && isExpiration)) {
_logger.debug("HMAC Verify {} , now {} , ExpirationTime {} , is not Expiration : {}" ,
isVerify,DateTime.now().toDate(),claims.getExpirationTime(),isExpiration);
}
return isVerify && isExpiration;
}
} catch (ParseException e) {
......
......@@ -76,8 +76,7 @@ public class InMemorySessionManager implements SessionManager{
if(session != null) {
_logger.debug("refresh session Id {} at refreshTime {}",sessionId,refreshTime);
session.setLastAccessTime(refreshTime);
//invalidate sessionId then renew one
sessionStore.invalidate(sessionId);
//put new session
create(sessionId , session);
}
return session;
......
......@@ -109,8 +109,7 @@ public class SessionManagerFactory implements SessionManager{
Session session = null;
if(isRedis) {
session = redisSessionManager.refresh(sessionId,refreshTime);
//renew one
inMemorySessionManager.remove(sessionId);
//renew one in Memory
inMemorySessionManager.create(sessionId, session);
}else {
session = inMemorySessionManager.refresh(sessionId,refreshTime);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册