【问题标题】:firebase rules for children but not parent孩子但不是父母的firebase规则
【发布时间】:2019-04-13 17:13:17
【问题描述】:

我正在使用 Firebase,并希望允许在孩子上而不是在父母上书写。

我有一个名为 guest 的集合。 用户可以通过将数据写入到以下位置来使用他们的 userId 设置数据:guests/userId 我想阻止用户在来宾上写入数据:/guests。

这些是我的规则:

{
  "rules": {
    ".read": false,
    ".write": false,
    "guests": {
       ".write": "newData.exists()",
    }
  }
}

根据上面的规则,用户可以同时运行这两个命令:

guests.child(userId).set(profileData);
guests.set(profileData);

我想制定一条规则,防止他跑第二行:guests.set(profileData);

【问题讨论】:

    标签: javascript firebase firebase-realtime-database firebase-security


    【解决方案1】:

    您可以使用通配符作为用户 ID:

    "rules": {
      ".read": false,
      ".write": false,
      "guests": {
        ".read": false,
        ".write": false,
        "$user_id": {
          ".write": "newData.exists()",
        }
      }
    }
    

    【讨论】:

    • 不需要guest 下的".read": false,".write": false,,因为它们已经从根目录继承。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 2011-04-26
    • 2021-11-09
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多