我一直在搞亂我的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
它會繼續檢查孩子的規則。