我知道如何为用户提供使用其UID的数据库部分的读/写访问权限,但是我想做的事情有些复杂,但是我不知道该怎么做。如果我有这样的数据库结构:
用户:
oixMNpuyaaTTntNVl17MC74wL8e2:
在这种情况下,我需要用户oixMNpuyaaTTntNVl17MC74wL8e2
才能访问Some Name
下的所有数据,该数据在数据库的其他位置指定。我希望我能够正确解释我的问题,并且有可能!另外,将Some Name
的{{1}}子级设置为Stuff
也是不可行的,因为其他用户也可能有权访问oixMNpuyaaTTntNVl17MC74wL8e2
。
注意:我同时使用Firebase Web和Admin,同时使用Python(Flask)和JavaScript。
答案 0 :(得分:4)
我在理解您的问题时遇到了一些麻烦,如果这不是您要查找的内容,请编辑您的问题并更深入地解释您要查找的内容。
如果要将访问权限限制为仅在“用户”表下授予该访问权限的用户,则可以编写一个规则来查找该用户下的“某些名称”权限。该规则将适用于您应用的所有用户,因此任何被授予访问权限的用户都可以访问该数据。
您的规则如下:
{
"rules": {
"Stuff": {
"$someName": {
".read": "root.child('Users').child(auth.uid).child('accesTo').val() == $someName"
}
},
// ...etc... other rules for other tables in your database
}
in the documentation这类例子很多。