如何允许用户编写新内容但不更新/删除现有内容

时间:2013-09-18 09:43:27

标签: firebase firebase-security

所以我有这个应用程序允许匿名用户写但不读特定路径。他们将数据发布到审核的留言板上。

但根据我目前的安全规则,他们也可以覆盖现有数据。如何禁止更新并仅允许新帖子。

我目前的安全规则:

{
  "rules": {
     ".read": "auth != null",
     ".write": "auth != null",
    "inbox" : {
     ".write": true,
    },
    "moderated" : {
      ".read": true,
    },
  }
}

1 个答案:

答案 0 :(得分:6)

使用data.exists()确定他们尝试写入的对象是否已存在:

{
  "rules": {
     ".read": "auth != null",
     ".write": "auth != null",
     "inbox" : {
       "$post" : {
          ".write": "!data.exists()",
       }
     },
     "moderated" : {
       ".read": true,
     },
  }
}