应用程序用户角色
在这款实时 Slack 应用程序中,我们需要将所有查询仅限于登录用户。我们假设数据不可公开访问。一切都以用户在应用程序上进行什么操作为中心。 此外,表中的某些列不需要向用户公开。
我们来看一下用户可以拥有的不同职责。
管理职责
所有管理任务都需要有对数据库的写入访问权限。某些管理任务包括:
- 创建和管理工作空间
- 创建和管理频道
- 将成员添加至工作空间和频道
非管理职责
非管理任务需要对数据库的有限读取和写入访问权限。
例如,你在 Slack 应用程序中有“成员”。他们可以加入 Slack 工作空间。他们可以使用 Slack,与其他成员进行沟通和协作。
- 用户可以读取消息并发送消息到频道中
- 用户可以读取同在一个工作空间的用户的消息并向其发送消息
我们需要能够将这些操作应用于某个角色。我们会在下一部分中看到如何实现。
Did you find this page helpful?
Start with GraphQL on Hasura for Free
- Build apps and APIs 10x faster
- Built-in authorization and caching
- 8x more performant than hand-rolled APIs