diff --git a/maxkey-authentications/maxkey-authentication-captcha/src/main/java/org/maxkey/web/contorller/ImageCaptchaEndpoint.java b/maxkey-authentications/maxkey-authentication-captcha/src/main/java/org/maxkey/web/contorller/ImageCaptchaEndpoint.java index f09b132e8..991edb571 100644 --- a/maxkey-authentications/maxkey-authentication-captcha/src/main/java/org/maxkey/web/contorller/ImageCaptchaEndpoint.java +++ b/maxkey-authentications/maxkey-authentication-captcha/src/main/java/org/maxkey/web/contorller/ImageCaptchaEndpoint.java @@ -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; diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/jwt/AuthTokenService.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/jwt/AuthTokenService.java index e6df49a86..994e7e15c 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/jwt/AuthTokenService.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/jwt/AuthTokenService.java @@ -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; diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/InMemorySessionManager.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/InMemorySessionManager.java index 7d67c136e..970a7c944 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/InMemorySessionManager.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/InMemorySessionManager.java @@ -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 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 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 } } diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java index 8ad7e5291..fefbfe7d5 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/authn/session/RedisSessionManager.java @@ -121,14 +121,13 @@ public class RedisSessionManager implements SessionManager { @Override public List 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 } diff --git a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java index 53e75e7eb..dc7cbd6f2 100644 --- a/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java +++ b/maxkey-authentications/maxkey-authentication-core/src/main/java/org/maxkey/autoconfigure/AuthenticationAutoConfiguration.java @@ -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, diff --git a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java index e1eaac0a6..1f01837bc 100644 --- a/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java +++ b/maxkey-core/src/main/java/org/maxkey/autoconfigure/ApplicationAutoConfiguration.java @@ -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; diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/InMemoryMomentaryService.java b/maxkey-core/src/main/java/org/maxkey/persistence/cache/InMemoryMomentaryService.java similarity index 98% rename from maxkey-core/src/main/java/org/maxkey/persistence/InMemoryMomentaryService.java rename to maxkey-core/src/main/java/org/maxkey/persistence/cache/InMemoryMomentaryService.java index 4abfea045..31c821166 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/InMemoryMomentaryService.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/cache/InMemoryMomentaryService.java @@ -15,7 +15,7 @@ */ -package org.maxkey.persistence; +package org.maxkey.persistence.cache; import java.util.concurrent.TimeUnit; diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/MomentaryService.java b/maxkey-core/src/main/java/org/maxkey/persistence/cache/MomentaryService.java similarity index 95% rename from maxkey-core/src/main/java/org/maxkey/persistence/MomentaryService.java rename to maxkey-core/src/main/java/org/maxkey/persistence/cache/MomentaryService.java index 41cdc52f8..1b4e993fa 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/MomentaryService.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/cache/MomentaryService.java @@ -15,7 +15,7 @@ */ -package org.maxkey.persistence; +package org.maxkey.persistence.cache; public interface MomentaryService { diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/RedisMomentaryService.java b/maxkey-core/src/main/java/org/maxkey/persistence/cache/RedisMomentaryService.java similarity index 98% rename from maxkey-core/src/main/java/org/maxkey/persistence/RedisMomentaryService.java rename to maxkey-core/src/main/java/org/maxkey/persistence/cache/RedisMomentaryService.java index 785b39083..77e786751 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/RedisMomentaryService.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/cache/RedisMomentaryService.java @@ -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; diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/cache/package-info.java b/maxkey-core/src/main/java/org/maxkey/persistence/cache/package-info.java new file mode 100644 index 000000000..83c7c03de --- /dev/null +++ b/maxkey-core/src/main/java/org/maxkey/persistence/cache/package-info.java @@ -0,0 +1 @@ +package org.maxkey.persistence.cache; \ No newline at end of file diff --git a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java index caf5e7718..501bd0def 100644 --- a/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java +++ b/maxkey-core/src/main/java/org/maxkey/persistence/redis/RedisConnectionFactory.java @@ -157,6 +157,4 @@ public class RedisConnectionFactory { return poolConfig; } - - } diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20AccessConfirmationEndpoint.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20AccessConfirmationEndpoint.java index c8f7d80a9..c28d8cc73 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20AccessConfirmationEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/approval/endpoint/OAuth20AccessConfirmationEndpoint.java @@ -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; diff --git a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/AbstractEndpoint.java b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/AbstractEndpoint.java index d0c47207a..9157007e0 100644 --- a/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/AbstractEndpoint.java +++ b/maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/AbstractEndpoint.java @@ -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;