【问题标题】:Firebase rules: allow push but not allow updateFirebase 规则:允许推送但不允许更新
【发布时间】:2023-04-10 08:10:02
【问题描述】:

我很难理解如何允许用户在列表中创建新记录,但只允许创建者更新他们自己的帖子。

例如以下结构:

post {
    post1: {
        author: "user1"
        text: "Some text"
    }
    post2: {
        author: "user2"
        text: "Some text 2"
    }
}

在这里,我希望两个用户都能够创建新帖子。但也要保护 post2 不被 user1 编辑。因此,只有 user1 可以编辑 post1,只有 user2 可以编辑 post2。

【问题讨论】:

    标签: validation firebase firebase-realtime-database firebase-security data-security


    【解决方案1】:

    你会想做这样的事情:

    {"rules": {
      "post": {
        "$id": {
          ".write": "auth !== null && (!data.exists() || data.child('author').val() === auth.uid)"
        }
      }
    }}
    

    只有在用户登录并且 a) 尝试写入的节点为空或 b) 尝试写入的节点由当前用户创作时,您才允许写入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 2021-07-14
      • 2019-03-29
      • 2020-03-17
      • 1970-01-01
      相关资源
      最近更新 更多