ツリーのようなデータベース スキーマを持つサイトで作業しています。上から下に私は持っています:
- 1 つの会社は複数の会社を持つことができます
- 多くの場所を持つことができる場所
- 多く持つことができるフリート
- 乗り物
ユーザー許可システムは、誰かがツリーのどのレベルでもアクセスを取得または制限できるという点で柔軟でなければなりません。たとえば、場所 x を管理する人は、デフォルトで、場所 x の下にあるすべてのフリートと場所 x の下にあるすべての車両に完全にアクセスできます。しかし、場所 x の下のノードへのユーザーのアクセスを制限することもできるはずです。
このような許可システムのスキーマを開発する適切な方法は何でしょうか? ユーザーがアクセスできる各ノードを格納することは、たとえ冗長であっても現実的でしょうか? 目標は、クエリを簡単に実行して、たとえばユーザーがアクセスできるすべての場所を取得できるようにすることです。