役割ベースの ACL をどのように設計する必要があるか:
複数のチーム。各チームは 1 人のマネージャーと複数のメンバーで構成され、1 つの場所で作業します。各場所には複数のチームがあり、複数の場所があります。
各チームのマネージャーは、自分のチーム メンバーのデータのみを表示/編集できました。人は、場所に関係なく、複数のチームのメンバーになることもできます。
Location_1
-Team_1 -Team_2
-Manager -Manager
-Member_1 -Member_1
-Member_2 -Member_2
Location_2
-Team_1 -Team_2
-Manager -Manager
-Member_1 -Member_1
-Member_2 -Member_2
私の考え:私はそれを2つの部分に分けることを考えています. パート 1: 各チームに 1 つのグループが必要です。グループ メンバーシップのテーブルをデータベースに保持します。パート 2: これで、各ユーザーは任意のロールを持つことができます。ACL は、これらのロールに基づいて設計できます。ただし、データはパート 1 に基づいて取得されます。この方法では、コードを変更せずに新しいチームを追加できます。これは正しい方法ですか?