限制创建/更新/删除仅限用户的请求

时间:2014-11-05 02:51:19

标签: parse-platform

在Parse.com客户端API中,可以对任何类的对象执行创建/更新/删除。最好设置一个最低级别的安全性,将这些操作仅限制为Parse.User发出的请求。这样,有权访问您的REST或JS密钥的人不能只是垃圾邮件来创建或删除数据库中的大量对象。

我有2个工作解决方案,但对于这么简单的事情来说,它们看起来有点复杂。如果您知道在Parse.com上实现此目的的更简单方法,请告诉我。

解决方案1:创建RegularUser角色并为您的所有用户分配该角色。为此角色设置类级别权限。未定义的用户(来自没有用户的请求)自然没有这个角色,因此访问被撤销。

解决方案2:为每个类创建beforeSavebeforeDelete云代码,并在没有用户的情况下拒绝所有请求。

我对Parse很陌生,我觉得我错过了一个简单的设置,让你只能锁定登录用户的数据。如果是这样,请指出。如果您在Parse.com和您的经验方面经验丰富,没有更简单的方法,我也非常感谢您的确认。感谢

1 个答案:

答案 0 :(得分:0)

我有点迟到了,但我想我会回答帮助其他读者。像Akshay指出的那样,你应该设置适当的类级别权限。但是我认为你得到的内容可以通过ACL来解决,正如Parse docs所建议的那样:https://www.parse.com/docs/ios/guide#security-access-control-lists

您可以为每个类设置不同类型的ACL,或者如果您只想允许用户访问他们自己的对象,那么在所有类中实现它非常容易:

  

为了让每个对象创建用户私有ACL非常容易,我们   有办法设置将用于每个新对象的默认ACL   你创建:

在Swift for iOS中:

PFACL.setDefaultACL(PFACL(), withAccessForCurrentUser: true)

我在我的应用程序的AppDelegate中进行了此设置,其效果是用户创建的任何对象只能由该用户读取/更新/删除。