javascript - parse.com 在 CloudCode 中为用户创建的所有对象设置默认 ACL

标签 javascript objective-c parse-platform

在Parse的Obj-C SDK中,有这样的函数:

    // Default Security for creating PFObjects
    PFACL *defaultACL = [PFACL ACL];
    [defaultACL setPublicReadAccess:YES];
    [PFACL setDefaultACL:defaultACL withAccessForCurrentUser:YES];

据我了解,这使得 PFUser 创建的所有 future 对象都可以公开读取,但只能由 PFUser 写入。

我似乎在 JS/CloudCode SDK 中找不到等效的选项。我希望能够为用户设置此类选项,以便他们创建的所有 PFObject 都将遵循默认 ACL 模式(除非被覆盖),而不是总是一一设置 ACL。这可能吗?

最佳答案

当前的 SDK 似乎无法实现此目的。您可以通过以下方法开始添加该功能。

// add a basic accessor for default acl
Parse.Object.setDefaultACL = function(acl) { this._defaultAcl = acl.toJSON(); }
Parse.Object.getDefaultACL = function() { return this._defaultAcl; }

// override initialize (which is empty by default) to set the default acl
// when a new object is created
Parse.Object.prototype.initialize = function() {
  var aclHash = Parse.Object.getDefaultACL();
  if(aclHash) {
    var acl = new Parse.ACL(aclHash);
    this.setACL(acl);
  }
}

与 iOS SDK 的一个显着区别(看起来)是自动反射(reflect)当前用户。在我的代码中,如果当前用户发生更改,则必须重新设置默认 ACL。

关于javascript - parse.com 在 CloudCode 中为用户创建的所有对象设置默认 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440195/

相关文章:

javascript - 当位置(纬度/经度)更改时,缓慢更新 HereMaps DomIcon,重新渲染

ios - 为 PFobjects 实现 UISearchController 时出错

javascript - 将输入保存到 Parse (Javascript)

javascript - jQuery iBox(灯箱克隆)和 IFRAMES

javascript - 使用数组值创建嵌套对象

javascript - 如何在云功能中从firestore获取用户的电子邮件?

ios - 是否可以将 View Controller 连接到启动屏幕.xib

ios - UIPageViewController 和删除当前 View Controller

objective-c - 如何检查文件是否在 Cocoa 中被锁定?

android - 是否可以使用云发送带有解析推送通知的附加数据?