假设我有一个看起来像这样的Firebase数据库。
root
devices
00EB4A1
0008634
devices_unowned
00056F3
000A689
单个设备只列在devices
或devices_unowned
下,而不是两者都列在其中。我需要一种安全的方法来允许无主设备被拥有,而不会暴露无主设备列表。
我的移动应用的用户可能偶然发现当前未拥有的设备。我需要他们能够执行诸如" root/devices_unowned/000A689 exists, yes or no?
"之类的查询。但是不能执行诸如" list all the devices at /root/devices_unowned
"。
这可能吗?
答案 0 :(得分:1)
对我来说似乎非常可行:
{
"rules": {
"devices": {
"$deviceid": {
".read": true
}
},
"devices_unowned": {
"$deviceid": {
".read": true
}
}
}
}
使用这些规则,每个用户都可以读取每个特定设备,但没有用户(具有管理权限的用户除外)可以读取所有设备的列表。