【问题标题】:How to assign ACL to Parse Cloud Code如何将 ACL 分配给 Parse Cloud Code
【发布时间】:2014-02-21 21:14:05
【问题描述】:

我有一个 Parse Cloud Code 函数,它将在 Parse 类中创建一个新对象。在创建该对象期间,解析云代码功能将创建一个 ACL,该 ACL 将读取访问权限分配给一个用户,并将读/写访问权限分配给解析云代码本身。授予 Parse Cloud Code 对此对象的读/写 ACL 访问权限的最有效方法是什么。

我看到this post建议使用 ParseMasterKey。我只是不确定如何授予 Parse Cloud Code 所需的访问权限,或者它是否默认具有访问权限。

【问题讨论】:

    标签: parse-platform


    【解决方案1】:

    内部云代码

    Parse.Cloud.useMasterKey();
    

    将授予提升的权限以执行诸如写入您没有读取权限的数据库行的 ACL 对象...

    在查询 _Role 类之后执行 ACL 更新的示例云代码...

      qp.first().then(function(role) {
         _role = role;     
         if (typeof _role === "undefined") { 
            return Parse.Promise.error(_error);
         } else {
             cst.parent = _role.get("name");
             cst.pid = _role.get("objectId");
             return qc.first();      
        };   
       }
    ).then(function(rolechld) { 
          _chrole = rolechld;
          if (typeof _chrole === "undefined") {
            return Parse.Promise.error(_errorch);
         } else {
          cst.child = _chrole.get("name");
          console.log(cst);                     
                _role.getACL().setRoleReadAccess(_chrole, true);
                _role.getRoles().add(_chrole);
    

    【讨论】:

    • 罗伯特:所以,我理解这意味着通过包含 Parse.Cloud.useMasterKey();在 Cloud 函数开始时声明,即使该对象的 ACL 没有明确授予访问权限,所有后续查询都将有权读取/写入任何内容?
    • 正确。 Parse.Cloud.userMasterKey(); 函数将忽略对象上的所有 ACL。一旦执行,它应该在您的云函数/钩子范围内应用。
    猜你喜欢
    • 2015-10-25
    • 1970-01-01
    • 2016-11-12
    • 1970-01-01
    • 2017-02-01
    • 2018-03-19
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    相关资源
    最近更新 更多