适用于孩子而非父母的Firebase规则

时间:2019-04-13 17:13:17

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

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

我有一个称为来宾的收藏。 用户可以通过以下方式将数据写入其中:访客/用户ID 我想防止用户在来宾上写数据:/ guests。

这些是我的规则:

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

使用上述规则,用户可以运行两个命令:

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

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

1 个答案:

答案 0 :(得分:1)

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

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