基于角色的 ACL 应如何设计用于:
多个团队,每个团队由一名经理和多名成员组成,并在一个地点工作。每个位置可以有多个团队,并且有多个位置。
每个团队的经理只能查看/编辑其团队成员的数据。一个人也可以是多个团队的成员,与位置无关。
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
我的想法:我想把它分成两部分。第 1 部分:每个团队应该有一个小组。在数据库中维护组成员关系表。第 2 部分:现在,每个用户都可以拥有任何角色。并且可以根据这些角色设计 ACL。但是将根据第 1 部分获取数据。这样可以在不更改代码的情况下添加新团队。这是正确的方法吗?