Parse platform 条件对象ACL

Parse platform 条件对象ACL,parse-platform,Parse Platform,刚开始解析,来自谷歌Firebase,我无法完全理解平台的安全方面,更不用说写一些代码了。从Firebase开始,我习惯于编写安全规则,通过定义允许某些操作所需满足的条件(例如:如果post的owner字段等于当前用户uid,则允许写入) 那个么我该如何解决下面的问题呢?我有一个对象Post,包含属性标题,内容,所有者,公共 允许在以下条件下读取: 如果public==true 或currentUser匹配字段owner 如果currentUser与字段owner匹配,则允许写入 有没有办法

刚开始解析,来自谷歌Firebase,我无法完全理解平台的安全方面,更不用说写一些代码了。从Firebase开始,我习惯于编写安全规则,通过定义允许某些操作所需满足的条件(例如:如果post的
owner
字段等于当前用户
uid
,则允许写入)

那个么我该如何解决下面的问题呢?我有一个对象
Post
,包含属性
标题
内容
所有者
公共

允许在以下条件下读取

  • 如果
    public==true
  • currentUser
    匹配字段
    owner
如果
currentUser
与字段
owner
匹配,则允许写入

有没有办法实现这一点?我已经找到了一个限制使用云函数编写的解决方案,尽管我确信一定有更好的方法


提前谢谢

对于书写规则,您可以在CLP中使用。但是,对于读取规则,您实际上必须编写一个触发器。@davidacêdo CLP对数据库中还没有的对象有效吗?我记得对象必须首先存在,才能由CLP检查。我曾经尝试在用户指针上选中“创建”框,但它给出了一个“权限拒绝”错误。有两个安全层:CLP(类级别权限)和ACL(访问控制列表)。CLP在类级别工作,因此那里的任何规则都将应用于整个类,并且任何新对象都应该在保存之前通过CLP规则。ACL在对象级别工作,因此它仅适用于现有对象,通常在创建新对象时设置。任何操作都需要同时通过CLP和ACL才能被允许。看看@davidacêdo,我创建了一个名为Test的类。我添加了一个名为user的新字段,它是指向user类的指针。我取消选中了public的写入权限,并授予了用户指针读写权限。当我尝试以我授予创建对象权限的用户身份创建对象时,会出现一个错误:“错误”:“在类测试上创建操作的权限被拒绝”。请使用创建对象所用的代码编辑您的问题(或创建新的问题)好吗?对于编写规则,您可以在CLP中使用。但是,对于读取规则,您实际上必须编写一个触发器。@davidacêdo CLP对数据库中还没有的对象有效吗?我记得对象必须首先存在,才能由CLP检查。我曾经尝试在用户指针上选中“创建”框,但它给出了一个“权限拒绝”错误。有两个安全层:CLP(类级别权限)和ACL(访问控制列表)。CLP在类级别工作,因此那里的任何规则都将应用于整个类,并且任何新对象都应该在保存之前通过CLP规则。ACL在对象级别工作,因此它仅适用于现有对象,通常在创建新对象时设置。任何操作都需要同时通过CLP和ACL才能被允许。看看@davidacêdo,我创建了一个名为Test的类。我添加了一个名为user的新字段,它是指向user类的指针。我取消选中了public的写入权限,并授予了用户指针读写权限。当我尝试以我授予创建对象权限的用户身份创建对象时,会出现一个错误:“错误”:“在类测试上创建操作的权限被拒绝”。请使用创建对象所用的代码编辑您的问题(或创建新的问题)好吗?