儿童的火力规则,但不是父母

问题描述 投票:0回答:1

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

我有一个叫做客人的集合。用户可以通过将数据写入以下内容使用userId为其设置数据:guests / userId我想阻止用户在guest虚拟机上写入数据:/ 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-rules
1个回答
1
投票

您可以将WildCard用于用户ID:

"rules": {
  ".read": false,
  ".write": false,
  "guests": {
    ".read": false,
    ".write": false,
    "$user_id": {
      ".write": "newData.exists()",
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.