Parse.com:在更新对象之前验证用户?

时间:2015-02-11 06:41:36

标签: javascript parse-platform cloud-code

该场景类似于Evernote:用户可以拥有多个可以公开查看的笔记,但除了他自己以外的任何人都无法编辑。

(我已经实现了创建备注,但现在对更新备注感到困惑。已阅读data & security的文档,但它对我帮助不大;虽然我知道ACL。)

我在后端尝试了这个:

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

但我得到错误说null(或未定义?对不起忘记确切的错误)不是一个函数。我认为这意味着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}); });

但它似乎不像是一种身份验证方法。我的意思是,通过这种方式,我只是信任客户端的数据而没有 认证 它。

1 个答案:

答案 0 :(得分:0)

request.user将包含发出请求的用户对象。对该对象执行任何检查,如果不允许用户编辑它,则返回错误。

更好的是,在每个音符对象上设置适当的ACL,例如“公共读取”,并且只对创建者进行写入访问。这应该使beforeSave挂钩不必要。