From 51794335ba8d83d838f326824958bcfafbd069dd Mon Sep 17 00:00:00 2001 From: D <3066417822@qq.com> Date: Sat, 27 Apr 2024 17:34:23 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/common/utils/CacheUtils.java | 1 - .../redis/config/FastJson2JsonRedisSerializer.java | 14 ++++++-------- .../com/ruoyi/ehcache/config/Ehcache3Cache.java | 5 ++++- .../com/ruoyi/ehcache/config/Ehcache3Config.java | 8 -------- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CacheUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CacheUtils.java index eb5bb4e..63da280 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/CacheUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/CacheUtils.java @@ -41,7 +41,6 @@ public class CacheUtils { * @param cacheName * @return */ - @SuppressWarnings(value = { "unchecked", "rawtypes" }) public static Set getkeys(String cacheName) { Cache cache = getCacheManager().getCache(cacheName); CacheKeys cacheGetKets = SpringUtils.getBean(CacheKeys.class); diff --git a/ruoyi-middleware/ruoyi-middleware-redis/src/main/java/com/ruoyi/middleware/redis/config/FastJson2JsonRedisSerializer.java b/ruoyi-middleware/ruoyi-middleware-redis/src/main/java/com/ruoyi/middleware/redis/config/FastJson2JsonRedisSerializer.java index bbc9fdf..5071360 100644 --- a/ruoyi-middleware/ruoyi-middleware-redis/src/main/java/com/ruoyi/middleware/redis/config/FastJson2JsonRedisSerializer.java +++ b/ruoyi-middleware/ruoyi-middleware-redis/src/main/java/com/ruoyi/middleware/redis/config/FastJson2JsonRedisSerializer.java @@ -9,6 +9,7 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONReader; import com.alibaba.fastjson2.JSONWriter; // import com.alibaba.fastjson2.filter.Filter; +import com.alibaba.fastjson2.filter.Filter; /** * Redis使用FastJson序列化 @@ -19,10 +20,10 @@ public class FastJson2JsonRedisSerializer implements RedisSerializer { public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8"); - // static final Filter autoTypeFilter = JSONReader.autoTypeFilter( - // 按需加上需要支持自动类型的类名前缀,范围越小越安全 - // "org.springframework.security.core.authority.SimpleGrantedAuthority" - // ); + static final Filter autoTypeFilter = JSONReader.autoTypeFilter( + "org.springframework.security.core.authority.SimpleGrantedAuthority", + "com.ruoyi.***" + ); private Class clazz; @@ -50,9 +51,6 @@ public class FastJson2JsonRedisSerializer implements RedisSerializer return null; } String str = new String(bytes, DEFAULT_CHARSET); - - // TODO 自动类型,官方说不安全,所以弃用了,代替方案是autoTypeFilter,在注释中给了案例; - return JSON.parseObject(str, clazz, JSONReader.Feature.SupportAutoType); - // return JSON.parseObject(str, clazz, autoTypeFilter); + return JSON.parseObject(str, clazz, autoTypeFilter); } } diff --git a/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Cache.java b/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Cache.java index 702a4ed..d03be75 100644 --- a/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Cache.java +++ b/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Cache.java @@ -3,24 +3,27 @@ package com.ruoyi.ehcache.config; import java.lang.reflect.Field; import java.util.HashSet; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; import org.ehcache.core.EhcacheBase; +import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; import org.ehcache.impl.internal.store.heap.OnHeapStore; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.Cache; import org.springframework.cache.jcache.JCacheCache; import org.springframework.cache.jcache.JCacheCacheManager; +import org.springframework.stereotype.Component; import com.ruoyi.common.interceptor.cache.CacheKeys; import com.ruoyi.common.interceptor.cache.CacheNoTimeOut; +@Component public class Ehcache3Cache implements CacheNoTimeOut, CacheKeys { @Autowired private JCacheCacheManager jCacheCacheManager; @Override + @SuppressWarnings(value = { "unchecked", "rawtypes" }) public Set getCachekeys(Cache cache) { Set keyset = new HashSet<>(); try { diff --git a/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Config.java b/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Config.java index c459c88..753aefa 100644 --- a/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Config.java +++ b/ruoyi-plugins/ruoyi-ehcache/src/main/java/com/ruoyi/ehcache/config/Ehcache3Config.java @@ -1,8 +1,5 @@ package com.ruoyi.ehcache.config; -import java.lang.reflect.Field; -import java.util.HashSet; -import java.util.Set; import java.util.concurrent.TimeUnit; import javax.cache.CacheManager; @@ -11,14 +8,9 @@ import javax.cache.configuration.MutableConfiguration; import javax.cache.expiry.CreatedExpiryPolicy; import javax.cache.expiry.Duration; -import org.ehcache.core.EhcacheBase; -import org.ehcache.impl.internal.concurrent.ConcurrentHashMap; -import org.ehcache.impl.internal.store.heap.OnHeapStore; import org.ehcache.jsr107.EhcacheCachingProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cache.Cache; import org.springframework.cache.annotation.EnableCaching; -import org.springframework.cache.jcache.JCacheCache; import org.springframework.cache.jcache.JCacheCacheManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;