感谢您的光临。
我有一个班级,让我们打电话给Class1,我用来给用户提供我的应用折扣/优惠券。当用户完成注册过程时,我创建一个对象并将指针存储在用户上。
我想给这个类CLP权限,以便公众可以创建,但不能写入此对象。让它只是我在内部使用的东西。
我的问题是该类有几个无法定义的数组,或者其他云函数最终会在尝试读取这些值时抛出错误。我为该类设置了一个beforeSave()触发器,并使用了主密钥,但是没有保存该对象,因此我的整个用户在注册结束时保存不起作用。如何解决这个问题,同时确保我的对象安全,并确保用户不能免费窃取我的所有应用程序服务?
这是我的beforeSave触发器:
Parse.Cloud.beforeSave("Class1", function(request, response)
{
Parse.Cloud.useMasterKey();
var emptyArray = [];
class1 = request.object;
if( class1.isNew() )
{
class1.set("array1", emptyArray);
class1.set("array2", emptyArray);
class1.set("array3", emptyArray);
}
response.success();
});
答案 0 :(得分:0)
所以我猜你不能使用主密钥来覆盖beforeSave触发器中的CLP / ACL内容......虽然它有意义,因为这将完全打败这一点。
但是,如果您提供公共创建访问权限,则可以填充任何初始数据,如果没有更新访问权限,则无法更新它。所以,显而易见的答案是在创建对象时和保存之前在客户端设置这些参数。