Skip to content

角色 & 权限 API

基于角色的访问控制,支持系统角色和自定义角色。Forgexa 在两个级别设置角色:组织级工作空间级

组织角色

角色说明
owner完全控制,包括所有权转移和删除。每个组织仅一个。
admin管理成员、邀请、集成、预算、审计日志、模板。
member查看组织数据、访问工作空间、创建工作空间。

组织 Admin 自动在其所有工作空间中拥有管理员级别权限。

工作空间角色(系统)

角色说明
owner完全控制,包括所有权转移
admin工作空间/项目管理、成员管理
developer创建/执行工作项、评审门禁
viewer只读访问

权限矩阵

获取所有系统角色的完整权限矩阵。

http
GET /api/v1/permissions/matrix
Authorization: Bearer <token>

响应 200 OK

json
{
  "permissions": [
    "project:read",
    "project:create",
    "requirement:read",
    "execution:execute",
    "gate:review",
    "deployment:trigger"
  ],
  "roles": {
    "viewer": ["project:read", "requirement:read", "execution:read"],
    "developer": ["project:read", "requirement:create", "execution:execute", "gate:review"],
    "admin": ["project:create", "project:update", "deployment:trigger"],
    "owner": ["project:delete", "workspace:settings"]
  }
}

自定义角色

列出角色

返回系统角色和工作空间级自定义角色。

http
GET /api/v1/workspaces/{workspace_id}/roles

创建自定义角色

需要 admin 角色。

http
POST /api/v1/workspaces/{workspace_id}/roles
Content-Type: application/json

{
  "name": "QA 负责人",
  "description": "可以评审门禁和管理 QA 套件",
  "permissions": ["gate:review", "qa:manage", "execution:read"]
}

更新自定义角色

http
PUT /api/v1/workspaces/{workspace_id}/roles/{role_id}
Content-Type: application/json

{
  "name": "QA 负责人",
  "permissions": ["gate:review", "qa:manage", "execution:read", "requirement:read"]
}

删除自定义角色

http
DELETE /api/v1/workspaces/{workspace_id}/roles/{role_id}

WARNING

删除角色前,确保没有成员正在使用该角色。否则这些成员将回退到默认的 viewer 角色。

Forgexa — AI 软件工厂