mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-07 17:38:32 +08:00
cache package
This commit is contained in:
parent
23730f0530
commit
7819373af7
@ -23,7 +23,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.maxkey.authn.jwt.AuthTokenService;
|
||||
import org.maxkey.crypto.Base64Utils;
|
||||
import org.maxkey.entity.Message;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@ -21,7 +21,7 @@ import java.text.ParseException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.maxkey.configuration.AuthJwkConfig;
|
||||
import org.maxkey.crypto.jwt.HMAC512Service;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.maxkey.web.WebContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@ -32,12 +32,13 @@ import com.github.benmanes.caffeine.cache.Caffeine;
|
||||
public class InMemorySessionManager implements SessionManager{
|
||||
private static final Logger _logger = LoggerFactory.getLogger(InMemorySessionManager.class);
|
||||
|
||||
protected int validitySeconds = 60 * 30; //default 30 minutes.
|
||||
static final long CACHE_MAXIMUM_SIZE = 2000000;
|
||||
protected int validitySeconds = 60 * 30; //default 30 minutes.
|
||||
|
||||
protected static Cache<String, Session> sessionStore =
|
||||
Caffeine.newBuilder()
|
||||
.expireAfterWrite(10, TimeUnit.MINUTES)
|
||||
.maximumSize(2000000)
|
||||
.maximumSize(CACHE_MAXIMUM_SIZE)
|
||||
.build();
|
||||
|
||||
public InMemorySessionManager(int validitySeconds) {
|
||||
@ -46,7 +47,7 @@ public class InMemorySessionManager implements SessionManager{
|
||||
sessionStore =
|
||||
Caffeine.newBuilder()
|
||||
.expireAfterWrite(validitySeconds, TimeUnit.SECONDS)
|
||||
.maximumSize(2000000)
|
||||
.maximumSize(CACHE_MAXIMUM_SIZE)
|
||||
.build();
|
||||
|
||||
}
|
||||
@ -90,8 +91,7 @@ public class InMemorySessionManager implements SessionManager{
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
_logger.debug("refresh session Id {} at time {}",sessionId,currentTime);
|
||||
session.setLastAccessTime(currentTime);
|
||||
//invalidate sessionId then renew one
|
||||
sessionStore.invalidate(sessionId);
|
||||
//sessionId then renew one
|
||||
create(sessionId , session);
|
||||
}
|
||||
return session;
|
||||
@ -103,14 +103,13 @@ public class InMemorySessionManager implements SessionManager{
|
||||
|
||||
@Override
|
||||
public List<HistoryLogin> querySessions() {
|
||||
// TODO Auto-generated method stub
|
||||
// not need implement
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void terminate(String sessionId, String userId, String username) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
// not need implement
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -121,14 +121,13 @@ public class RedisSessionManager implements SessionManager {
|
||||
|
||||
@Override
|
||||
public List<HistoryLogin> querySessions() {
|
||||
// TODO Auto-generated method stub
|
||||
// not need implement
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void terminate(String sessionId, String userId, String username) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
// not need implement
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ import org.maxkey.constants.ConstsPersistence;
|
||||
import org.maxkey.password.onetimepwd.AbstractOtpAuthn;
|
||||
import org.maxkey.password.onetimepwd.OtpAuthnService;
|
||||
import org.maxkey.password.onetimepwd.token.RedisOtpTokenStore;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.maxkey.persistence.repository.LoginHistoryRepository;
|
||||
import org.maxkey.persistence.repository.LoginRepository;
|
||||
@ -189,12 +189,12 @@ public class AuthenticationAutoConfiguration implements InitializingBean {
|
||||
public LoginRepository loginRepository(JdbcTemplate jdbcTemplate) {
|
||||
return new LoginRepository(jdbcTemplate);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public LoginHistoryRepository loginHistoryRepository(JdbcTemplate jdbcTemplate) {
|
||||
return new LoginHistoryRepository(jdbcTemplate);
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public SessionManager sessionManager(
|
||||
@Value("${maxkey.server.persistence}") int persistence,
|
||||
|
||||
@ -30,9 +30,9 @@ import org.maxkey.crypto.password.MessageDigestPasswordEncoder;
|
||||
import org.maxkey.crypto.password.PasswordReciprocal;
|
||||
import org.maxkey.crypto.password.SM3PasswordEncoder;
|
||||
import org.maxkey.crypto.password.StandardPasswordEncoder;
|
||||
import org.maxkey.persistence.InMemoryMomentaryService;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.RedisMomentaryService;
|
||||
import org.maxkey.persistence.cache.InMemoryMomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.maxkey.persistence.cache.RedisMomentaryService;
|
||||
import org.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
import org.maxkey.persistence.repository.InstitutionsRepository;
|
||||
import org.maxkey.persistence.repository.LocalizationRepository;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.persistence;
|
||||
package org.maxkey.persistence.cache;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.persistence;
|
||||
package org.maxkey.persistence.cache;
|
||||
|
||||
public interface MomentaryService {
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package org.maxkey.persistence;
|
||||
package org.maxkey.persistence.cache;
|
||||
|
||||
import org.maxkey.persistence.redis.RedisConnection;
|
||||
import org.maxkey.persistence.redis.RedisConnectionFactory;
|
||||
1
maxkey-core/src/main/java/org/maxkey/persistence/cache/package-info.java
vendored
Normal file
1
maxkey-core/src/main/java/org/maxkey/persistence/cache/package-info.java
vendored
Normal file
@ -0,0 +1 @@
|
||||
package org.maxkey.persistence.cache;
|
||||
@ -157,6 +157,4 @@ public class RedisConnectionFactory {
|
||||
return poolConfig;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ import org.maxkey.entity.UserInfo;
|
||||
import org.maxkey.entity.apps.Apps;
|
||||
import org.maxkey.entity.apps.oauth2.provider.ClientDetails;
|
||||
import org.maxkey.authz.oauth2.provider.approval.ApprovalStore;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.maxkey.persistence.service.AppsService;
|
||||
import org.maxkey.util.StringUtils;
|
||||
import org.maxkey.web.WebContext;
|
||||
|
||||
@ -35,7 +35,7 @@ import org.maxkey.authz.oauth2.provider.refresh.RefreshTokenGranter;
|
||||
import org.maxkey.authz.oauth2.provider.request.DefaultOAuth2RequestFactory;
|
||||
import org.maxkey.authz.oauth2.provider.token.AuthorizationServerTokenServices;
|
||||
import org.maxkey.configuration.ApplicationConfig;
|
||||
import org.maxkey.persistence.MomentaryService;
|
||||
import org.maxkey.persistence.cache.MomentaryService;
|
||||
import org.maxkey.persistence.service.AppsService;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user