如何设置 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()"
}
}
}
如何设置 Firebase 规则以仅允许数据库(或数据库的键或节点或子集)中列出的用户 ID 到同一数据库的另一个 key/subset 中的 r/w?
这个
我要设置的是例如以下数据库:
'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()"
}
}
}