diff --git a/springboot-login/src/main/java/com/tiesheng/login/service/CorePlatformUniqueService.java b/springboot-login/src/main/java/com/tiesheng/login/service/CorePlatformUniqueService.java index 79c98e1..a248915 100644 --- a/springboot-login/src/main/java/com/tiesheng/login/service/CorePlatformUniqueService.java +++ b/springboot-login/src/main/java/com/tiesheng/login/service/CorePlatformUniqueService.java @@ -53,7 +53,7 @@ public class CorePlatformUniqueService extends TsServiceBase TsCacheService.of().remove(key)); + if (StrUtil.isEmpty(roleId)) { + TsCacheService.of().keys(StrUtil.replace(TsAuthorityHandler.CACHE_AUTHORITY, + ":{}", "")).forEach(key -> TsCacheService.of().remove(key)); + } else { + TsCacheService.of().keys(StrUtil.format(TsAuthorityHandler.CACHE_AUTHORITY, + roleId, userId)).forEach(key -> TsCacheService.of().remove(key)); + } } diff --git a/springboot-util/src/main/java/com/tiesheng/util/service/TsCacheService.java b/springboot-util/src/main/java/com/tiesheng/util/service/TsCacheService.java index 2dcff9c..58f5bb0 100644 --- a/springboot-util/src/main/java/com/tiesheng/util/service/TsCacheService.java +++ b/springboot-util/src/main/java/com/tiesheng/util/service/TsCacheService.java @@ -68,11 +68,11 @@ public class TsCacheService { /** * 获取key * - * @param pattern + * @param prefix * @return */ - public Set keys(String pattern) { - return tsCacheHandler.keys(pattern); + public Set keys(String prefix) { + return tsCacheHandler.keys(prefix); } diff --git a/springboot-util/src/main/java/com/tiesheng/util/service/role/TsAuthorityHandler.java b/springboot-util/src/main/java/com/tiesheng/util/service/role/TsAuthorityHandler.java index 679c172..5603a23 100644 --- a/springboot-util/src/main/java/com/tiesheng/util/service/role/TsAuthorityHandler.java +++ b/springboot-util/src/main/java/com/tiesheng/util/service/role/TsAuthorityHandler.java @@ -9,7 +9,7 @@ import java.util.List; @Service public interface TsAuthorityHandler { - String CACHE_HAS_AUTHORITY = "CACHE:HAS_AUTHORITY:{}:{}"; + String CACHE_AUTHORITY = "CACHE:AUTHORITY:{}:{}"; /** diff --git a/springboot-web/src/main/java/com/tiesheng/web/config/role/RoleAuthorityAspect.java b/springboot-web/src/main/java/com/tiesheng/web/config/role/RoleAuthorityAspect.java index 7e852b5..15d8dd0 100644 --- a/springboot-web/src/main/java/com/tiesheng/web/config/role/RoleAuthorityAspect.java +++ b/springboot-web/src/main/java/com/tiesheng/web/config/role/RoleAuthorityAspect.java @@ -56,7 +56,7 @@ public class RoleAuthorityAspect { HttpServletRequest request = ServletKit.getRequest(); TokenBean tokenBean = tsTokenConfig.validToken(request, true); - String cacheKey = StrUtil.format(TsAuthorityHandler.CACHE_HAS_AUTHORITY, tokenBean.getRoleId(), tokenBean.getId()); + String cacheKey = StrUtil.format(TsAuthorityHandler.CACHE_AUTHORITY, tokenBean.getRoleId(), tokenBean.getId()); List authorityList = StrUtil.split(TsCacheService.of().get(cacheKey), ";") .stream().filter(StrUtil::isNotEmpty).collect(Collectors.toList()); if (CollUtil.isEmpty(authorityList)) {