跳到正文

SaaS 群组与角色权限,无需自己实现多租户

最后更新于

Seed 在注册时为每个账号创建一个个人群组,用户还可以创建共享群组、邀请他人,并分配从查看者到所有者的角色。群组是唯一的租户边界,所以你新增的功能只要复制笔记聚合,就会通过同一套检查。

你会得到什么

  • 群组是唯一的租户边界:个人数据和共享数据经过同样的检查
  • 应用、代码和本站都统一称它为群组
  • 没有第二套权限模型需要与第一套保持同步
  • 邀请、角色变更和所有权转让,各有独立的测试

工作原理

每一行共享数据都属于一个群组,API 在读取或写入之前会检查此人在该群组中的角色。查看者只能读取;编辑者还能修改群组的数据;管理员和所有者还能管理成员和查看活动日志。

所有者一步即可转让所有权,已删除的群组可在 30 天内恢复。只有邮箱已验证的账号才能发出邀请。

一个群组的活动日志:谁在什么时候添加了哪条笔记或哪个标签,每条笔记都有打开链接。

常见问题

每个账号都有群组吗?

是的。每个账号注册时都会获得一个个人群组;个人群组和共享群组通过的是同一套检查。

查看者能修改群组的数据吗?

不能。查看者只能读取群组的数据;编辑者、管理员或所有者才能修改。

已删除的群组还能恢复吗?

可以。所有者可在 30 天内恢复它;超过 30 天后,Worker 会将其永久删除。

我自己的功能需要另做一套权限系统吗?

不需要。新的聚合会复制笔记聚合及其群组检查,所以只需维护一套权限模型。

一分钟看它跑起来

演示就是你第一天就能拿到的应用。无需注册即可打开:你的访客账号自带示例数据。

其他功能

登录

通行密钥、邮箱登录链接、Google、GitHub 和双重验证,无需认证服务。

进一步了解登录

计费

按成员计费的 Stripe 订阅,含免费版、试用期和宽限期。

进一步了解计费

实时同步

在一个标签页保存的更改,会显示在其他所有已打开的标签页中,无需刷新。

进一步了解实时同步

所有功能 Seed 与其他方案的对比