我正在寻找一种可靠且受人尊敬的方式来处理 Meteor 中具有层次结构的 Angular 色和组。我并没有与 alanning:roles 包结婚,并且很乐意将其换成可以轻松满足这些需求的包。
要求:
我需要能够创建“无限”数量的子组。假设我有一个团队(团队 A),其中有用户(Bob、Jim、Anna、Daisy、Tom、Jerry),我希望其中一些成员能够控制其下方的用户,但不能控制上方的用户。因此,为了最好地说明这个想法,我展示了以下树:
- 鲍勃(A 队)
- 吉姆(第 1 区)
- 黛西(经理)
- 安娜(第 2 区)
- 汤姆(从属驱动程序)
- Jerry(用户)
- 汤姆(从属驱动程序)
- 吉姆(第 1 区)
因此,我目前关于如何最好地处理此问题的想法是通过级联组分配组,其中树将表示为以下 Angular 色/组组合:
- 鲍勃: Angular 色:[“Angular 色”],组:team_a
- 吉姆: Angular 色:[“Angular 色”],组:team_a:division_1
- daisy : Angular 色 : ["role"],组:team_a:division_1:managers
- 安娜: Angular 色:[“Angular 色”],组:team_a:division_2
- 汤姆: Angular 色:[“Angular 色”],组:team_a:division_2:slave_drivers
- 杰里: Angular 色:[“Angular 色”],组:team_a:division_2:slave_drivers:用户
我不是这种结构的 super 粉丝,因为它并不真正支持组的想法以及我已经可以预见的许多其他问题。但我能想到的唯一替代方案是这样的:
- 鲍勃: Angular 色:[
- {[“Angular 色”],team_a},
- {["Angular 色"], team_a:division_1},
- {["Angular 色"], team_a:division_1:managers},
- {["Angular 色"], team_a:division_2},
- {["Angular 色"], team_a:division_2:slave_drivers},
- {["Angular 色"], team_a:division_2:slave_drivers:users} ]
- 杰瑞: Angular 色:[
- {["Angular 色"], team_a:division_2:slave_drivers:users} ]
这更有意义吗?似乎每次创建子组时我都必须更新每个用户的权限。而且似乎定义的组的数量可能会很快增加。
如果我的想法还很遥远,并且有一种更简单的方法可以实现这一目标,我会很感激您指出正确的方向。通过这些路线,我确实感觉我正在尝试让 Angular 色包做一些它不打算做的事情。谢谢。
最佳答案
如果有人对这种类型的权限管理感兴趣,请随时查看我整理的 bgromadzki:meteor-teams 包。或者这里的 github 页面:https://github.com/BRyeGmoney/meteor-teams
我使用了与 Angular 色包类似的前提,但我将包的焦点从 Angular 色转移到了组(就像现在有一个团队集合,而不是 Angular 色),我将其命名为团队,因为组似乎是一个过于宽松的术语。我打算继续做更多的工作,并感谢任何反馈以及他们可能需要的建议。
关于javascript - 带有角色/带有meteor-roles包的组的组层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974027/