Parse platform 关系和组的类级权限/ACL

Parse platform 关系和组的类级权限/ACL,parse-platform,relationship,acl,Parse Platform,Relationship,Acl,我已经阅读了解析文档并修改了ACL,但是我找不到一种方法来创建类似于我在Firebase中为另一个项目创建的规则 我计划使用PHPSDK,但任何代码都可以作为示例 假设我有一个名为产品的项目 此产品具有以下字段: name-字符串文本字段,仅作为示例 所有者-指向拥有产品的用户 useraccess-有权访问产品的关系用户(不同于所有者) 组-可以访问产品的关系组 组表包含以下字段: 名称-字符串组名称,唯一 用户-此组的关系用户(一个用户可以在多个组中,一个组可以有多个用户) 假设默认

我已经阅读了解析文档并修改了ACL,但是我找不到一种方法来创建类似于我在Firebase中为另一个项目创建的规则

我计划使用PHPSDK,但任何代码都可以作为示例

假设我有一个名为产品的项目

产品具有以下字段:

  • name
    -字符串文本字段,仅作为示例
  • 所有者
    -指向拥有产品的用户
  • useraccess
    -有权访问产品的关系用户(不同于所有者)
  • -可以访问产品的关系组
表包含以下字段:

  • 名称
    -字符串组名称,唯一
  • 用户
    -此组的关系用户(一个用户可以在多个组中,一个组可以有多个用户)
假设默认情况下,没有人对产品具有读写访问权限

角色为“管理员”的用户将具有对对象的读写访问权限(使用基于规则的ACL可以轻松完成),但我需要允许对以下内容的读访问:

  • 所有者-id与
    所有者
    字段匹配的用户-在
    所有者
    字段上使用CPL完成
  • useraccess中的用户-处于
    useraccess
    关系中的用户必须具有对项目的读取权限-无法找到解决方案
  • 与“组”字段匹配的组中的用户-至少在
    关系指定的一个组中的用户必须具有对项目的读取权限-无法找到解决方案
  • 可能的解决方法:

    问题2。可以通过将
    useraccess
    中的所有用户添加到每个项目的ACL中来修复;如果可能的话,我希望避免为每个项目指定ACL(如果某些内容发生更改,则必须更新所有受影响的项目ACL),而只是为类添加一个ACL(就像我在Firebase中所做的那样)


    问题3。可以通过创建规则而不是组(例如,如果用户在id为123的组中,它将有一个角色“group:123”)来修复,但这不是最优的,可能会导致不一致。

    我会这样做:我不会创建自己的组机制,而是为您当前拥有的每个组使用一个新角色。然后,在每个产品对象的ACL中,我将添加有权访问该产品的用户(而不是您当前的用户访问关系)和有权访问该产品的组(现在是角色)(而不是您当前的组关系)。