【问题标题】:AND/OR for roles in Loopback's ACLSLoopback 的 ACLS 中的角色的 AND/OR
【发布时间】:2014-11-29 05:51:20
【问题描述】:

我有一个应用程序,用户可以在其中拥有多种不同类型的角色

静态角色:每个角色确定不同级别的权限,用户被映射到这些角色之一

  • 管理员用户
  • 超级用户
  • 基本用户

动态角色:

  • accountMember:如果用户尝试访问的资源属于同一帐户,则分配此角色。

现在,假设我有两个端点:

  • /addUsers :为了访问此端点,用户需要具有 adminUser 角色以及 accountMember 角色adminUser && accountMember
  • /editUsers :为了访问此端点,用户需要具有 adminUserpowerUser 角色,以及 accountMember 角色。例如(powerUser || adminUser) && accountMember

假设角色应用正确,我将如何使用环回的 ACLS 数组实现 AND/OR 逻辑?

【问题讨论】:

  • 这是一个非常有效的场景,请在 google group 上发布,开发人员在那里非常活跃。

标签: node.js access-control loopbackjs strongloop


【解决方案1】:

这是我为(powerUser || adminUser) && accountMember 设计的流程

[DENY *$everyone* for all methods]

[ALLOW *accountMember* on */editUsers*]

[DENY *baseUser* on */editUsers*]

对于adminUser && accountMember

[DENY *$everyone* for all methods]

[ALLOW *accountMember* on */editUsers*]

[DENY *baseUser* on */editUsers*]

[DENY *powerUser* on */editUsers*]

虽然我不太喜欢它,因为我要添加另一个用户角色,然后我必须编辑很多 ACLS。我宁愿隐式允许 adminUser 而不必拒绝所有其他用户类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2012-10-10
    相关资源
    最近更新 更多