我一直在搞乱我的firebase数据库规则,试图让用户无需身份验证,只编辑我的数据库中的某个孩子,但我似乎无法弄清楚。只允许读/写一个孩子
这里是数据库结构:
所以我试图让用户无需认证编辑VideoID的,但不仅如此,我需要的规则,忽略了房间ID(5555在这个例子中),这意味着它只允许阅读和编辑房间/(roomid)/ videoID
感谢您的各种帮助!
我一直在搞乱我的firebase数据库规则,试图让用户无需身份验证,只编辑我的数据库中的某个孩子,但我似乎无法弄清楚。只允许读/写一个孩子
这里是数据库结构:
所以我试图让用户无需认证编辑VideoID的,但不仅如此,我需要的规则,忽略了房间ID(5555在这个例子中),这意味着它只允许阅读和编辑房间/(roomid)/ videoID
感谢您的各种帮助!
Firebase数据库规则允许使用变量,并且可以在不同的深度具有不同的规则。
对于您的情况,以下规则将允许任何用户(已验证或未验证)访问/rooms/$roomid/videoID
,但只有经过验证的用户才能访问整个/rooms/
树。
{
"rules": {
"rooms": {
".read": "auth != null",
".write": "auth != null",
"$roomid": {
"videoID": {
".read": "true",
".write": "true",
}
}
}
}
}
也许是这样的:
{
"rules": {
".read": true,
".write": "auth != null",
"rooms": {
"$roomId": {
"videoID": {
".write": true
}
}
}
}
}
这将允许与认证用户编辑videoID
之外的另一个领域。
但是如果你想连authentificated用户,也只能编辑videoID
,那么规则是:
{
"rules": {
".read": true,
".write": false,
"rooms": {
"$roomId": {
"videoID": {
".write": true
}
}
}
}
}
记住,当规则设置true
它不会遍历独生子女政策,但如果将其设置false
它会继续检查孩子的规则。