diff --git a/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java b/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java index 11849fd..38de078 100644 --- a/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java +++ b/wcs/src/main/java/org/wcs/business/redis/SaTokenRedis.java @@ -1,6 +1,7 @@ package org.wcs.business.redis; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.ArrayUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; @@ -97,10 +98,17 @@ public class SaTokenRedis { return; } for (String permission : permissionList) { + // 如果现有权限不包含新权限则添加新权限 if(!oldPermissionList.contains(permission)) { stringRedisTemplate.opsForList().rightPush(USER_PERMISSION_KEY + ":" + group, permission); } } + for (String permission : oldPermissionList) { + // 如果旧权限不在新权限列表内则删除旧权限 + if(!ArrayUtils.contains(permissionList, permission)) { + stringRedisTemplate.opsForList().remove(USER_PERMISSION_KEY + ":" + group, 1, permission); + } + } return; }