IAM 特殊接口介绍
对 IAM 常用到的一些特殊接口作简要的介绍。
数据处理及初始化接口
在新部署环境或升级服务完成后,由于有些数据不是从界面维护,导致某些字段不能自动生成,需调用IAM服务的初始化接口进行一些初始化操作。
-
[GET /v1/init/cache-user]
缓存用户信息到 Redis
-
[GET /v1/init/menu-level-path]
初始化菜单层级路径(
h_level_path
),如果发现有些 level_path 不正确,可以直接将本列清掉并调用该接口重新生成。 -
[GET /v1/init/role-level-path]
初始化角色层级路径(
h_level_path
、h_inherit_level__path
),如果发现有些 level_path 不正确,可以直接将这两列清掉并调用该接口重新生成。 -
[GET /v1/init/super-role-permission-sets]
将权限集分别分配到平台超级管理员和租户超级管理员上。
权限刷新接口
-
[POST /v1/permission/cache/{serviceName}]
传入服务名,缓存服务权限,此操作会删除缓存中旧的权限,重新刷新。权限缓存到网关服务所在的 Redis database 下,网关默认 redis.database=4,如果修改了此配置,确保在IAM服务中加入 `hzero.service.gateway.redis-db=xx。
服务报错 PERMISSION_MISSMATCH 错误时,可先检查 Redis 缓存中是否存在访问的API,如果没有可调用此接口手动缓存服务权限。
-
[POST /v1/permission/fresh/{serviceName}]
刷新 iam_permission 权限表中的数据。如果 iam_permission 中不存在访问的API时,可调用此接口手动刷新服务权限。该接口会自动更新缓存。
此接口有两个参数:serviceName 为服务名;metaVersion 为 swagger 列表中的 version。version 等于服务配置中的
eureka.instance.metadata-map.VERSION
。