在Parse的Obj-C SDK中,有以下功能:
// Default Security for creating PFObjects
PFACL *defaultACL = [PFACL ACL];
[defaultACL setPublicReadAccess:YES];
[PFACL setDefaultACL:defaultACL withAccessForCurrentUser:YES];
根据我的理解,PFUser创建的所有未来对象都是公开可读的,但只能由PFUser写入。
我似乎无法在JS / CloudCode SDK中找到等效选项。我希望能够为用户设置这种选项,这样他们创建的所有PFObject都将遵循默认的ACL模式,除非被覆盖,而不是始终逐个设置ACL。这可能吗?
答案 0 :(得分:0)
这似乎不是使用当前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具有的显着差异(自动显示)会自动反映当前用户。在我的代码中,如果当前用户发生了更改,则必须重新设置默认ACL。