【7.3.2】更新auth的缓存配置

pull/41/head
fengshuonan 2022-11-09 01:33:56 +08:00
parent 4bbb56a11f
commit 4418242bf4
3 changed files with 111 additions and 8 deletions

View File

@ -22,7 +22,7 @@
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.auth.starter;
package cn.stylefeng.roses.kernel.auth.starter.cache;
import cn.hutool.cache.CacheUtil;
import cn.hutool.cache.impl.TimedCache;
@ -34,7 +34,7 @@ import cn.stylefeng.roses.kernel.auth.session.cache.catoken.MemoryCaClientTokenC
import cn.stylefeng.roses.kernel.auth.session.cache.logintoken.MemoryLoginTokenCache;
import cn.stylefeng.roses.kernel.auth.session.cache.loginuser.MemoryLoginUserCache;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@ -50,7 +50,8 @@ import static cn.stylefeng.roses.kernel.cache.api.constants.CacheConstants.NONE_
* @date 2020/11/30 22:16
*/
@Configuration
public class GunsAuthTokenCacheAutoConfiguration {
@ConditionalOnMissingClass("org.springframework.data.redis.connection.RedisConnectionFactory")
public class GunsAuthTokenMemoryCacheAutoConfiguration {
/**
* 使
@ -61,7 +62,6 @@ public class GunsAuthTokenCacheAutoConfiguration {
* @date 2021/1/31 21:04
*/
@Bean
@ConditionalOnMissingBean(name = "loginUserCache")
public CacheOperatorApi<LoginUser> loginUserCache() {
Long sessionExpiredSeconds = AuthConfigExpander.getSessionExpiredSeconds();
TimedCache<String, LoginUser> loginUsers = CacheUtil.newTimedCache(1000L * sessionExpiredSeconds);
@ -77,7 +77,6 @@ public class GunsAuthTokenCacheAutoConfiguration {
* @date 2021/1/31 21:04
*/
@Bean
@ConditionalOnMissingBean(name = "allPlaceLoginTokenCache")
public CacheOperatorApi<Set<String>> allPlaceLoginTokenCache() {
TimedCache<String, Set<String>> loginTokens = CacheUtil.newTimedCache(NONE_EXPIRED_TIME);
return new MemoryLoginTokenCache(loginTokens);
@ -90,7 +89,6 @@ public class GunsAuthTokenCacheAutoConfiguration {
* @date 2022/3/15 17:25
*/
@Bean
@ConditionalOnMissingBean(name = "loginErrorCountCacheApi")
public CacheOperatorApi<Integer> loginErrorCountCacheApi() {
TimedCache<String, Integer> loginTimeCache = CacheUtil.newTimedCache(LoginCacheConstants.LOGIN_CACHE_TIMEOUT_SECONDS * 1000);
return new LoginErrorCountMemoryCache(loginTimeCache);
@ -103,7 +101,6 @@ public class GunsAuthTokenCacheAutoConfiguration {
* @date 2022/5/20 11:52
*/
@Bean
@ConditionalOnMissingBean(name = "caClientTokenCacheApi")
public CacheOperatorApi<String> caClientTokenCacheApi() {
TimedCache<String, String> loginTimeCache = CacheUtil.newTimedCache(NONE_EXPIRED_TIME);
return new MemoryCaClientTokenCache(loginTimeCache);

View File

@ -0,0 +1,105 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.auth.starter.cache;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.auth.cache.LoginErrorCountRedisCache;
import cn.stylefeng.roses.kernel.auth.session.cache.catoken.RedisCaClientTokenCache;
import cn.stylefeng.roses.kernel.auth.session.cache.logintoken.RedisLoginTokenCache;
import cn.stylefeng.roses.kernel.auth.session.cache.loginuser.RedisLoginUserCache;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
import cn.stylefeng.roses.kernel.cache.redis.util.CreateRedisTemplateUtil;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.Set;
/**
*
*
* @author fengshuonan
* @date 2020/11/30 22:16
*/
@Configuration
@ConditionalOnClass(name = "org.springframework.data.redis.connection.RedisConnectionFactory")
public class GunsAuthTokenRedisCacheAutoConfiguration {
/**
* 使
* <p>
* redis loginUserCache bean
*
* @author fengshuonan
* @date 2021/1/31 21:04
*/
@Bean
public CacheOperatorApi<LoginUser> loginUserCache(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, LoginUser> redisTemplate = CreateRedisTemplateUtil.createObject(redisConnectionFactory);
return new RedisLoginUserCache(redisTemplate);
}
/**
* token使
* <p>
* redis allPlaceLoginTokenCache bean
*
* @author fengshuonan
* @date 2021/1/31 21:04
*/
@Bean
public CacheOperatorApi<Set<String>> allPlaceLoginTokenCache(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Set<String>> redisTemplate = CreateRedisTemplateUtil.createObject(redisConnectionFactory);
return new RedisLoginTokenCache(redisTemplate);
}
/**
*
*
* @author fengshuonan
* @date 2022/3/15 17:25
*/
@Bean
public CacheOperatorApi<Integer> loginErrorCountCacheApi(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Integer> redisTemplate = CreateRedisTemplateUtil.createObject(redisConnectionFactory);
return new LoginErrorCountRedisCache(redisTemplate);
}
/**
* CaClienttoken
*
* @author fengshuonan
* @date 2022/5/20 11:52
*/
@Bean
public CacheOperatorApi<String> caClientTokenCacheApi(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, String> redisTemplate = CreateRedisTemplateUtil.createString(redisConnectionFactory);
return new RedisCaClientTokenCache(redisTemplate);
}
}

View File

@ -1,5 +1,6 @@
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.stylefeng.roses.kernel.auth.starter.GunsAuthAutoConfiguration,\
cn.stylefeng.roses.kernel.auth.starter.GunsSsoAutoConfiguration,\
cn.stylefeng.roses.kernel.auth.starter.GunsAuthTokenCacheAutoConfiguration,\
cn.stylefeng.roses.kernel.auth.starter.cache.GunsAuthTokenMemoryCacheAutoConfiguration,\
cn.stylefeng.roses.kernel.auth.starter.cache.GunsAuthTokenRedisCacheAutoConfiguration,\
cn.stylefeng.roses.kernel.auth.starter.GunsPasswordRsaPropAutoConfiguration