最佳实践
本文档提供云开发身份认证与权限控制的最佳实践指南,帮助开发者快速理解和接入身份认证模块,构建安全可靠的应用系统。
功能介绍
核心概念
云开发身份认证体系包含两个核心部分 :
- 身份认证:解决"用户是谁"的问题,支持手机号、邮箱、微信、匿名等多种登录方式
- 权限控制:解决"用户能调用什么资源"的问题,通过角色和策略精细化管理资源访问权限
完整的身份认证接入需要理解:登录方式 → 角色体系 → 成员管理 → 权限策略 → 安全配置。
登录方式
云开发支持多种登录方式,需要先在 云开发平台/身份认证/登录方式 中开启,可根据应用场景灵活选择:
| 登录方式 | 适用场景 | 配置入口 |
|---|---|---|
| 手机号登录 | 需要实名认证的应用 | 登录方式管理 |
| 邮箱登录 | 企业应用、国际化应用 | 登录方式管理 |
| 微信登录 | 微信生态应用 | 登录方式管理 |
| 匿名登录 | 无需注册即可使用的功能 | 注册配置 |
| 用户名密码 | 传统 Web 应用 | 登录方式管理 |
💡 建议:应用可以同时开启多种登录方式,让用户自主选择。
角色体系
角色定义
角色是权限的载体,通过将用户分配到不同角色,实现精细化的权限管理。系统提供以下预设角色:
| 角色类型 | 说明 | 典型使用场景 |
|---|---|---|
| 管理员 | 拥有所有权限,可管理环境、成员、资源 | 项目负责人、技术主管 |
| 所有用户 | 包含所有已登录和未登录用户 | 公开内容访问控制 |
| 组织成员 | 添加到组织架构的用户 | 企业内部应用访问 |
| 外部用户 | 除组织成员外,非匿名登录的用户 | C端应用用户,需要登录进行访问,如电商应用等 |
| 匿名用户 | 未登录的访客 | 公开页面、营销落地页 |
⚠️ 重要提醒:管理员角色拥有系统的最高权限,包括删除数据、修改配置、管理成员等敏感操作,请谨慎使用。
自定义角色
当预设角色无法满足业务需求时,可以创建自定义角色:
- 访问 云开发平台/身份认证/权限控制 页面
- 点击「创建角色」
- 设置角色标识和描述,例如:
content_editor:内容编辑data_analyst:数据分析finance_admin:财务管理
- 为角色配置访问权限
角色权限合并规则
当用户拥有多个角色时,权限合并遵循以下规则:
- 允许权限取并集:用户拥有所有角色的允许权限之和
- 拒绝权限优先:任一角色的拒绝规则会覆盖其他角色的允许规则
示例:
用户角色:内容编辑 + 数据分析
- 内容编辑:允许访问文章表(读、写、改)
- 数据分析:允许访问订单表(仅读)
- 结果:用户可以读写文章,可以查看订单
成员管理
成员添加
将用户添加到角色,有以下两种方式:
方式一:在角色中添加成员
- 访问 云开发平台/身份认证/权限控制 页面找到目标角色
- 点击角色的「配置成员」
- 点击「添加成员」批量选择用户
- 确认后立即生效
方式二:在组织架构中管理
- 访问 云开发平台/身份认证/组织架构 页面
- 创建部门和岗位结构
- 将用户添加到对应的组织节点
- 批量为用户关联角色
成员权限变更
修改用户权限有两种途径:
- 修改角色权限:该角色下所有用户自动继承新权限
- 调整用户角色:将用户从某个角色移除或添加到新角色
💡 提示:权限变更可能需要一定时间生效,建议用户退出重新登录。