javascript - 带有角色/带有meteor-roles包的组的组层次结构

标签 javascript meteor permissions roles

我正在寻找一种可靠且受人尊敬的方式来处理 Meteor 中具有层次结构的 Angular 色和组。我并没有与 alanning:roles 包结婚,并且很乐意将其换成可以轻松满足这些需求的包。

要求:

我需要能够创建“无限”数量的子组。假设我有一个团队(团队 A),其中有用户(Bob、Jim、Anna、Daisy、Tom、Jerry),我希望其中一些成员能够控制其下方的用户,但不能控制上方的用户。因此,为了最好地说明这个想法,我展示了以下树:

  • 鲍勃(A 队)
    • 吉姆(第 1 区)
      • 黛西(经理)
    • 安娜(第 2 区)
      • 汤姆(从属驱动程序)
        • Jerry(用户)

因此,我目前关于如何最好地处理此问题的想法是通过级联组分配组,其中树将表示为以下 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/

相关文章:

javascript - 如何将 Angular ui-grid 与字符串数组一起使用

javascript - meteor : best practice for modifying Mongo query result before template takes it?

javascript - 从 DOM 中删除后重新渲染/交换模板

reactjs - Meteor、React Router 4 和身份验证

sql-server - SQL 服务器 : how to write trigger on a table with denied SELECT

Django: get_perm(permision_string)

javascript - 禁用 iPad Safari 浏览器中的 'Copy' 功能

javascript - Javascript 的 Java 风格 Set 集合

javascript - 获取 react 嵌套对象中的子数据

sql - 需要什么权限才能使用 SQL Server 表值参数 (TVP) 作为存储过程参数?