包含 Roles/Groups 和 meteor-roles 包的组层次结构
Group Hierarchy With Roles/Groups with meteor-roles package
我正在寻找一种可靠且受人尊敬的方式来处理 Meteor 中具有层次结构的角色和组。我不喜欢 alanning:roles 软件包,很乐意将其换成可以轻松满足这些需求的软件包。
诉求:
我需要能够创建 "infinite" 数量的 sub-groups。假设我有一个团队(团队 A)和用户(鲍勃、吉姆、安娜、黛西、汤姆、杰瑞),我希望其中一些成员能够控制他们下面的用户,但不能控制上面的用户。所以,为了最好地说明这个想法,我提出了以下树:
- 鲍勃(A 队)
- 吉姆(1 区)
- 雏菊(经理)
- 安娜(第 2 分区)
- 汤姆(奴隶司机)
- Jerry(用户)
所以我目前的想法是如何最好地处理这个问题,是通过为组分配级联组,其中树将表示为这些 role/group 组合:
- 鲍勃:角色:["role"],组:team_a
- 吉姆:角色:["role"],组:team_a:division_1
- 雏菊:角色:["role"],组:team_a:division_1:经理
- 安娜:角色:["role"],组:team_a:division_2
- 汤姆:角色:["role"],组:team_a:division_2:slave_drivers
- jerry:角色:["role"],组:team_a:division_2:slave_drivers:用户
我不是这种结构的忠实拥护者,因为它不太支持组的想法以及我已经预见到的许多其他问题。但我能想到的唯一替代方案是这样的:
- 鲍勃:角色:[
- {["role"],team_a},
- {["role"],team_a:division_1},
- {["role"], team_a:division_1:经理},
- {["role"],team_a:division_2},
- {["role"],team_a:division_2:slave_drivers},
- {["role"], team_a:division_2:slave_drivers:用户} ]
- 杰里:角色:[
- {["role"], team_a:division_2:slave_drivers:用户} ]
这样更有意义吗?似乎我每次创建 sub-group 时都必须更新每个用户的权限。而且似乎定义组的数量可能会迅速增加。
如果我偏离了方向并且有更简单的方法来实现这一目标,我将不胜感激被指出正确的方向。有了这些路线,我肯定觉得我在试图让角色包做一些它不打算做的事情。谢谢。
如果有人对这种类型的权限管理感兴趣,请随时查看我放在一起的 bgromadzki:meteor-teams 包。或此处的 github 页面:https://github.com/BRyeGmoney/meteor-teams
我使用了与角色包类似的前提,但我将包的重点从角色切换到组(因为现在有一个团队集合,而不是角色),我将团队命名为组似乎太松散了学期。我打算继续努力,并感谢任何反馈以及他们可能需要的建议。
我正在寻找一种可靠且受人尊敬的方式来处理 Meteor 中具有层次结构的角色和组。我不喜欢 alanning:roles 软件包,很乐意将其换成可以轻松满足这些需求的软件包。
诉求:
我需要能够创建 "infinite" 数量的 sub-groups。假设我有一个团队(团队 A)和用户(鲍勃、吉姆、安娜、黛西、汤姆、杰瑞),我希望其中一些成员能够控制他们下面的用户,但不能控制上面的用户。所以,为了最好地说明这个想法,我提出了以下树:
- 鲍勃(A 队)
- 吉姆(1 区)
- 雏菊(经理)
- 安娜(第 2 分区)
- 汤姆(奴隶司机)
- Jerry(用户)
- 汤姆(奴隶司机)
- 吉姆(1 区)
所以我目前的想法是如何最好地处理这个问题,是通过为组分配级联组,其中树将表示为这些 role/group 组合:
- 鲍勃:角色:["role"],组:team_a
- 吉姆:角色:["role"],组:team_a:division_1
- 雏菊:角色:["role"],组:team_a:division_1:经理
- 安娜:角色:["role"],组:team_a:division_2
- 汤姆:角色:["role"],组:team_a:division_2:slave_drivers
- jerry:角色:["role"],组:team_a:division_2:slave_drivers:用户
我不是这种结构的忠实拥护者,因为它不太支持组的想法以及我已经预见到的许多其他问题。但我能想到的唯一替代方案是这样的:
- 鲍勃:角色:[
- {["role"],team_a},
- {["role"],team_a:division_1},
- {["role"], team_a:division_1:经理},
- {["role"],team_a:division_2},
- {["role"],team_a:division_2:slave_drivers},
- {["role"], team_a:division_2:slave_drivers:用户} ]
- 杰里:角色:[
- {["role"], team_a:division_2:slave_drivers:用户} ]
这样更有意义吗?似乎我每次创建 sub-group 时都必须更新每个用户的权限。而且似乎定义组的数量可能会迅速增加。
如果我偏离了方向并且有更简单的方法来实现这一目标,我将不胜感激被指出正确的方向。有了这些路线,我肯定觉得我在试图让角色包做一些它不打算做的事情。谢谢。
如果有人对这种类型的权限管理感兴趣,请随时查看我放在一起的 bgromadzki:meteor-teams 包。或此处的 github 页面:https://github.com/BRyeGmoney/meteor-teams
我使用了与角色包类似的前提,但我将包的重点从角色切换到组(因为现在有一个团队集合,而不是角色),我将团队命名为组似乎太松散了学期。我打算继续努力,并感谢任何反馈以及他们可能需要的建议。