Firebase数据库规则:从父数据库访问子数据

Firebase数据库规则:从父数据库访问子数据,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,以下是对象列表的规则。如果您已通过身份验证,则可以访问所有内容。如果不是,则有些对象是公共的,有些不是布尔公共属性。 如果您试图直接访问$object,下面的规则可以正常工作 "list": { ".read": ???????????? , ".write": "auth != null", "$object": { ".read": "auth != null || data.child('public').val() === true", ".write": "

以下是对象列表的规则。如果您已通过身份验证,则可以访问所有内容。如果不是,则有些对象是公共的,有些不是布尔公共属性。 如果您试图直接访问$object,下面的规则可以正常工作

"list": {
  ".read": ???????????? ,
  ".write": "auth != null",
  "$object": {
    ".read": "auth != null || data.child('public').val() === true",
    ".write": "auth != null"
  }
}
但是,如果您没有经过身份验证,我还需要规则只列出公共对象。如何为父列表中生成的$key的属性设置读取规则?比如:

"list":{
  ".read": "auth != null || data.child('$key').child('public').val() === true"
}

无法按进行筛选。请阅读

发件人:

规则不是过滤器

规则是以原子的方式应用的。这意味着读或写 如果该位置没有规则,操作将立即失败 或者在授予访问权限的父位置。即使每个人都受到影响 子路径可访问,在父位置读取将失败 完全是


无法按进行筛选。请阅读

发件人:

规则不是过滤器

规则是以原子的方式应用的。这意味着读或写 如果该位置没有规则,操作将立即失败 或者在授予访问权限的父位置。即使每个人都受到影响 子路径可访问,在父位置读取将失败 完全是


是的,我读过。这就是为什么我试图将.read条件从子级传递给父级。但必须有一种方法来过滤服务器端用户在列出对象时可以看到或看不到的内容。我错了吗?不,你不能,这就是我要说的。如果你想按用户筛选,你必须按用户将其存储在其他地方。因此,如果没有涉及身份验证,你只能选择显示整个列表还是不显示任何内容?我不确定我是否理解,但规则无法筛选,但我想答案是肯定的。您可以根据排序等进行筛选…这确实是正确的。Firebase在连接侦听器的位置强制执行访问控制。所以,要么你们在列表上有阅读权限,在这种情况下你们可以阅读列表下的所有内容,要么你们并没有。是的,我读过。这就是为什么我试图将.read条件从子级传递给父级。但必须有一种方法来过滤服务器端用户在列出对象时可以看到或看不到的内容。我错了吗?不,你不能,这就是我要说的。如果你想按用户筛选,你必须按用户将其存储在其他地方。因此,如果没有涉及身份验证,你只能选择显示整个列表还是不显示任何内容?我不确定我是否理解,但规则无法筛选,但我想答案是肯定的。您可以根据排序等进行筛选…这确实是正确的。Firebase在连接侦听器的位置强制执行访问控制。所以,要么你在列表上有阅读权限,在这种情况下,你可以阅读列表下的所有内容,要么你没有。马修在下面解释了这一点,但也看到了,可能还有其他大多数提到神奇短语规则的问题都不是过滤器。马修在下面解释,但也可以看到,可能还有其他大多数提到神奇短语规则的问题都不是过滤器。