2015-02-11 47 views
0

该方案与Evernote类似:用户可以拥有多个可以公开查看的笔记,但不能由除自己以外的任何人编辑。Parse.com:在更新对象之前验证用户?

(我已经实现创造笔记,但现在感到困惑的更新笔记读过的data & security文档,但它并没有帮助我很多。虽然我知道ACL)。

我在后台尝试这样做:

Parse.beforeSave("Notes", function (request, response) { Parse.User.current(); });

但我得到了错误,说空(或undefined忘记确切的错误后悔?)不是一个函数。我认为这意味着Cloud Function中没有可用的Parse.UserParse.User.current

然后根据a question in archive of Parse.com forum我发现:

Parse.beforeSave("Notes", function (request, response) { var userId = new Parse.User({id : request.params.userId}); });

但它似乎并不像身份验证的方法。我的意思是,通过这个,我只信任数据表格客户端没有验证它。

回答

0

request.user将包含发出请求的用户对象。做任何检查你必须对该对象进行检查,并返回一个错误,如果用户不允许编辑它。

更好的是,在每个音符对象上设置正确的ACL,例如“Public Read”并且只为创建者写入访问权限。这应该使beforeSave钩子是不必要的。

相关问题