如何设置 Firebase 规则以仅允许数据库中列出的用户 ID 到另一个数据库中的 r/w

How to set Firebase rules to allow only listed userid in a db to r/w in another database

如何设置 Firebase 规则以仅允许数据库(或数据库的键或节点或子集)中列出的用户 ID 到同一数据库的另一个 key/subset 中的 r/w?

这个只提到了同一个节点的w/r/一个数据库的key/subset。

我要设置的是例如以下数据库:

'SomeDB' : { 
  'ListOfUsers': { 
    'key1' : { 'key': 'key1', 'name' : 'name1' }, 
    'key2' :  { 'key' : 'key2', 'name':'name2'}, 
    and so on... 
  }, 
  {'SomethingForWR': 'Some Database'}

如果 'auth.uid' 等于 'SomethingForWR'('SomeDB' 的一部分),规则应该是只允许读写的=24=](也是'SomeDB'的一部分)

如果您想检查 ListOfUsers 中是否存在密钥,您可以使用:

root.child('ListOfUsers').child('keyYouWantToCheck').exists()

根据这些知识,如果用户的 UID 存在于 ListOfUsers 中,则允许用户访问 SomethingForWR 的规则可能是这样的:

{
  "rules": {
    ...
    "SomethingForWR": {
      ".read": "root.child('ListOfUsers').child(auth.uid).exists()"
    }
  }
}