Skip to content

组织模板

概述

组织模板模块用于管理租户级别共享的角色模板和权限模板。与"角色管理"中定义的全局角色不同,组织模板中定义的角色和权限专门用于组织内部的成员权限管理。所有组织共享同一套模板定义,确保跨组织的权限体系一致性。

导航路径: 侧边栏 -> 组织模板

核心概念

角色模板(Organization Role Template)

角色模板是在租户级别定义的角色定义,可以被分配给任意组织中的成员。例如,定义一个 "项目经理" 角色模板后,所有组织都可以使用这个角色模板为其成员分配角色。

权限模板(Organization Permission Template)

权限模板是在租户级别定义的权限定义,可以被关联到角色模板上。例如,定义一个 "项目管理" 权限模板后,可以将其分配给 "项目经理" 角色模板。

模板与组织的关系

权限模板 --分配到--> 角色模板 --分配给--> 组织成员(在特定组织中)
  • 权限模板和角色模板在租户级别统一定义
  • 所有组织共享同一套模板
  • 角色模板在具体组织中分配给成员

角色模板管理

角色模板列表

展示所有已定义的组织角色模板。

字段说明
名称角色模板的名称
描述角色模板的说明
创建时间模板创建时间

API 调用:

GET /api/v1/organization-roles?page=1&page_size=20

创建角色模板

字段必填说明
名称角色模板的名称(如 "管理员"、"成员"、"只读")
描述角色模板的说明文字

API 调用:

POST /api/v1/organization-roles

请求示例:

json
{
  "name": "项目经理",
  "description": "负责项目管理和团队协调"
}

编辑角色模板

修改角色模板的名称和描述。

API 调用:

PATCH /api/v1/organization-roles/:id

删除角色模板

删除角色模板将同时移除所有组织中对该模板的引用。

API 调用:

DELETE /api/v1/organization-roles/:id

注意: 删除角色模板前,请确认已将受影响的组织成员迁移到其他角色。

查看角色模板权限

获取某个角色模板已关联的权限模板列表。

API 调用:

GET /api/v1/organization-roles/:id/scopes

分配权限到角色模板

为角色模板设置关联的权限模板。此操作为全量替换,请传入完整的权限模板 ID 列表。

API 调用:

PUT /api/v1/organization-roles/:id/scopes

请求示例:

json
{
  "scope_ids": ["scope_id_1", "scope_id_2", "scope_id_3"]
}

分配 API 资源权限到角色模板

如果组织角色模板需要用于第三方 M2M 应用调用 API,除了组织权限模板外,还可以继续绑定 API 资源权限。

典型场景:

  • 给组织角色模板绑定 Management API Resource 的 all
  • 然后把该角色分配给某个组织中的 M2M 应用
  • 该应用在请求组织级 API Resource Token 时,就会拿到对应 scope

相关接口:

text
GET /api/v1/organization-roles/:id/resource-scopes
PUT /api/v1/organization-roles/:id/resource-scopes
DELETE /api/v1/organization-roles/:id/resource-scopes/:scopeId

如果你是在配置第三方系统管理组织成员,请继续阅读:

权限模板管理

权限模板列表

展示所有已定义的组织权限模板。

字段说明
名称权限模板的名称
描述权限模板的说明
创建时间模板创建时间

API 调用:

GET /api/v1/organization-permissions?page=1&page_size=20

创建权限模板

字段必填说明
名称权限模板的名称(如 "项目管理"、"成员管理"、"只读")
描述权限模板的说明文字

API 调用:

POST /api/v1/organization-permissions

请求示例:

json
{
  "name": "项目管理",
  "description": "创建、编辑和删除项目"
}

删除权限模板

删除权限模板将同时移除所有角色模板对该权限的引用。

API 调用:

DELETE /api/v1/organization-permissions/:id

完整 API 参考

操作方法路径
获取角色模板列表GET/api/v1/organization-roles
创建角色模板POST/api/v1/organization-roles
获取角色模板详情GET/api/v1/organization-roles/:id
更新角色模板PATCH/api/v1/organization-roles/:id
删除角色模板DELETE/api/v1/organization-roles/:id
获取角色模板权限GET/api/v1/organization-roles/:id/scopes
设置角色模板权限PUT/api/v1/organization-roles/:id/scopes
获取权限模板列表GET/api/v1/organization-permissions
创建权限模板POST/api/v1/organization-permissions
删除权限模板DELETE/api/v1/organization-permissions/:id

使用场景

场景一:SaaS 平台标准化权限体系

为 SaaS 平台定义统一的组织权限体系:

  1. 创建权限模板:"项目管理"、"成员管理"、"数据查看"、"数据导出"
  2. 创建角色模板:
    • "管理员" - 关联所有权限模板
    • "经理" - 关联 "项目管理"、"成员管理"、"数据查看" 权限
    • "成员" - 关联 "数据查看" 权限
    • "访客" - 关联 "数据查看" 权限(受限)
  3. 在各组织中为成员分配角色模板

场景二:多级组织权限管理

当不同类型的组织需要统一的权限标准时:

  1. 定义通用的权限模板集合
  2. 定义符合业务需求的角色模板
  3. 各组织管理员根据成员职责分配对应的角色
  4. 系统通过角色模板自动关联权限,实现一致的权限控制

Released under the MIT License.