权限管理系统
权限系统是商业化软件的基础设施,通过精细化的权限控制,能够有效防止数据泄露、未授权访问等安全风险,确保系统和数据的完整性、保密性。 Zion提供了一套结合角色(RBAC)和属性(ABAC)权限管理系统。在保障数据安全的同时,还能够实现灵活、精准地进行权限控制。
基本概念
角色:一类用户的集合;通过将用户授予角色,角色绑定着多个权限的方式来进行用户权限控制
数据权限:可精准地控制角色能够访问或修改的数据内容
行为权限:用于控制角色能够使用的行为,例如:行为流、api执行、支付行为、退款行为等
开始配置
1. 打开配置 - 权限
2. 角色管理
系统内置了两个角色:
- 已登录用户
- 任何登录(通过用户名密码登录、手机密码登录等等)的用户都会自动赋予该角色,
- 由于小程序会自动执行“静默登录”行为,因此小程序上的任意用户都拥有该角色
- 游客
- 未登录的访客都是该角色
- 小程序中没有游客
除了系统内置的角色,开发者可自己创建角色。不同的项目版本可创建的角色不同:
- 免费版:0个
- 高级版:1个
- 专业版:10个
3. 角色的权限配置
数据权限
操作权限:进行是否能对数据进行增删改查的权限管理
字段权限:进一步配置对于这张数据表中某一列(字段)的操作权限
高级筛选:通过配置行筛选,来配置基于属性的更精细化的操作权限(例如:用户只能修改自己的数据)
行为权限
控制用户使用行为的权限,包括:API、行为流、AI、支付。
4. 将角色授予用户
在角色配置完了以后,就可以将其授予给某个用户。一共有两种方式
在权限管理系统中手动管理 点击「用户管理」下方的按钮,可以查看这个角色下的用户有哪些,为这个角色添加/删除用户。
在行为流中自动管理 使用行为流中的权限节点,可以对某些用户进行角色的授予和移除,实现一些自动化的场景。例如:当用户购买商品成功后,授予其VIP的角色
5. 使权限配置生效
权限配置变更后,需要部署后端即可生效。通过自动化授权的行为流也需要发布后才会生效。
注意事项
- 出现 User xxxx has no permission for xxxxx报错的情况
- 原因:该用户没有对应的权限
- 解决方法: 前往权限配置中为该用户的角色添加对应的操作权限即可