Javascript parse.com为用户创建的所有对象在CloudCode中设置默认ACL
Parse的Obj-C SDK中有以下功能:Javascript parse.com为用户创建的所有对象在CloudCode中设置默认ACL,javascript,objective-c,parse-platform,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创建的所有未来对象都可以公开读取,但只
// Default Security for creating PFObjects
PFACL *defaultACL = [PFACL ACL];
[defaultACL setPublicReadAccess:YES];
[PFACL setDefaultACL:defaultACL withAccessForCurrentUser:YES];
据我所知,这使得PFUser创建的所有未来对象都可以公开读取,但只能由PFUser写入
我似乎在JS/CloudCodeSDK中找不到等效的选项。我希望能够为用户设置此类选项,以便他们创建的所有对象都将遵循默认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的一个显著区别是,它自动反映了当前用户。在我的代码中,如果当前用户发生更改,则必须重新设置默认ACL