权限管理系统
权限系统是商业化软件的基础设施,通过精细化权限控制,有效防止数据泄露和未授权访问,保障系统和数据的完整性与安全性。Zion 提供基于角色(RBAC)和属性(ABAC)的权限管理体系。
核心概念
- 角色:一类用户集合,通过分配角色实现权限控制
- 数据权限:精确控制角色可访问或修改的数据内容
- 行为权限:控制角色可使用的行为(如 API、行为流、支付等)
权限配置入口
在“配置”中进入“权限管理”模块。
角色管理
系统内置两类角色:
- 已登录用户:所有登录用户自动分配
- 游客:未登录用户(小程序无游客)
开发者可自定义角色,不同版本可创建角色数量不同:
- 免费版:0 个
- 高级版:1 个
- 专业版:10 个
点击“添加”按钮新增角色,角色名一旦后端部署生效后不可更改。
角色权限配置
数据权限
- 操作权限:管理数据的增删改查权限
- 字段权限:进一步配置表字段的操作权限
- 高级筛选:通过配置行筛选实现更精细的数据权限
行为权限
控制用户可用的行为权限,包括 API、行为流、AI、支付等。除支付外均可增加“高级筛选”实现更精细控制。
分配角色给用户
权限配置完成后,可将角色分配给用户。方式包括:
- 在权限管理系统手动管理
- 在行为流中自动管理(如购买商品后自动分配 VIP 角色)
权限配置生效与错误排查
权限配置变更需后端部署后生效。无权限访问资源时,页面会提示“无权限”或返回 403 错误。
{
"data": null,
"errors": [
{
"errorCode": 403,
"extensions": { "classification": "TABLE_ACCESS" },
"message": "User 1 has no permission for SELECT on order"
}
]
}
其中,User 1
表示 id
为 1000000000000001
的用户,has no permission for SELECT on order
表示没有查询order表的权限。
理解错误信息后,就可以进入权限查看修改相关配置。
Last updated on