类 ModulePowerCache
java.lang.Object
net.sohelp.boot.engine.web.cache.ModulePowerCache
用户模块权限Cache
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voidclear()清空用户模块缓存映射表 该方法用于清除USER_MODULE_CACHE_MAP中的所有缓存数据, 通常在需要重置缓存状态或释放缓存资源时调用。voidreload(long userId) 重新加载指定用户的模块权限缓存 该方法首先清除用户原有的模块权限缓存,然后从数据库查询该用户关联角色的菜单权限, 解析出有效的模块名称并更新到缓存中。voidremove(long userId) 从模块权限缓存中移除指定用户的缓存数据voidvalidateModule(long userId, String moduleName) 验证用户是否具有指定模块的访问权限voidvalidateNamespace(long userId, String namespace) 验证用户对指定命名空间的访问权限
-
字段详细资料
-
USER_MODULE_CACHE_MAP
-
-
构造器详细资料
-
ModulePowerCache
public ModulePowerCache()
-
-
方法详细资料
-
validateNamespace
验证用户对指定命名空间的访问权限首先检查命名空间是否绑定了模块,若未绑定则抛出异常; 然后遍历所有模块,逐个验证用户对每个模块的访问权限。
- 参数:
userId- 用户ID,用于权限验证namespace- 命名空间名称,需要验证的命名空间- 抛出:
AccessPermissionException- 当命名空间未绑定模块或用户无访问权限时抛出
-
validateModule
验证用户是否具有指定模块的访问权限- 参数:
userId- 用户ID,用于查询用户权限缓存moduleName- 模块名称,需要验证的模块标识- 抛出:
AccessPermissionException- 当用户无权访问指定模块时抛出此异常 异常消息通过langRender获取国际化资源"engine.power.no-access"
-
clear
public void clear()清空用户模块缓存映射表 该方法用于清除USER_MODULE_CACHE_MAP中的所有缓存数据, 通常在需要重置缓存状态或释放缓存资源时调用。 -
remove
public void remove(long userId) 从模块权限缓存中移除指定用户的缓存数据- 参数:
userId- 要移除的用户ID
-
reload
重新加载指定用户的模块权限缓存 该方法首先清除用户原有的模块权限缓存,然后从数据库查询该用户关联角色的菜单权限, 解析出有效的模块名称并更新到缓存中。管理员和开发人员的权限会被全部放开。- 参数:
userId- 用户ID,用于查询该用户关联的模块权限- 抛出:
SQLException- 如果数据库查询过程中发生异常
-