@Component public class ModulePowerCache extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static Map<Long,List<String>> |
USER_MODULE_CACHE_MAP |
| 构造器和说明 |
|---|
ModulePowerCache() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clear()
清空用户模块缓存映射表
该方法用于清除USER_MODULE_CACHE_MAP中的所有缓存数据,
通常在需要重置缓存状态或释放缓存资源时调用。
|
void |
reload(long userId)
重新加载指定用户的模块权限缓存
该方法首先清除用户原有的模块权限缓存,然后从数据库查询该用户关联角色的菜单权限,
解析出有效的模块名称并更新到缓存中。
|
void |
remove(long userId)
从模块权限缓存中移除指定用户的缓存数据
|
void |
validateModule(long userId,
String moduleName)
验证用户是否具有指定模块的访问权限
|
void |
validateNamespace(long userId,
String namespace)
验证用户对指定命名空间的访问权限
首先检查命名空间是否绑定了模块,若未绑定则抛出异常;
然后遍历所有模块,逐个验证用户对每个模块的访问权限。
|
public void validateNamespace(long userId,
String namespace)
throws AccessPermissionException
首先检查命名空间是否绑定了模块,若未绑定则抛出异常; 然后遍历所有模块,逐个验证用户对每个模块的访问权限。
userId - 用户ID,用于权限验证namespace - 命名空间名称,需要验证的命名空间AccessPermissionException - 当命名空间未绑定模块或用户无访问权限时抛出public void validateModule(long userId,
String moduleName)
throws AccessPermissionException
userId - 用户ID,用于查询用户权限缓存moduleName - 模块名称,需要验证的模块标识AccessPermissionException - 当用户无权访问指定模块时抛出此异常
异常消息通过langRender获取国际化资源"engine.power.no-access"public void clear()
public void remove(long userId)
userId - 要移除的用户IDpublic void reload(long userId)
throws SQLException
userId - 用户ID,用于查询该用户关联的模块权限SQLException - 如果数据库查询过程中发生异常Copyright © 2025. All rights reserved.