Firebase实时数据库规则-身份验证

时间:2020-10-07 06:49:09

标签: firebase firebase-realtime-database firebase-authentication

如果我的数据结构如下(例如:一本书集)

     books: 
           0 :    name = book1,
                    id= 123

           1: name = book2,
                id = 456

           2: name = book3,
                id = 789

如何在Firebase实时数据库中为“ / books” URL授予读写访问权限?请注意,我的“ auth.id”与每本书中的“ id”匹配。

因此数据为(books / 0 / id == auth.id),但用于读取和写入的url访问权限适用于'/ books'。有没有办法使用ID并在父级别授予访问权限?

我尝试了以下方法,

        "rules"
             "books" 
                  "$id" {".read" : $id == auth.uid} 

但没有运气..

谢谢

1 个答案:

答案 0 :(得分:0)

由于您正在使用数组,因此我想$id仅捕获索引。因此,您可以尝试以下操作:

{
  "rules": {
    "books": {
      "$book_index": {
        ".read" : "data.child('id').val() == auth.uid"
      }
    }
  }
}