ロールで考えること
ここでは、アプリのロールをモデル化する方法を紹介します。
ロールベースのアクセス制御により、サーバーはクライアント上の各ユーザーがアクセスするデータを管理できます。これにより、データアクセスに粒度の細かい制限を適用できます。
Slackのユーザーに適用されるさまざまなロールのセットを考えてみましょう。
ロールは広く以下のように分類できます。
Hierarchical and Flat
またはAdministrative and Non-Administrative
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