【问题标题】:how to disallow update specific field in firestore document via security rules?如何通过安全规则禁止更新 Firestore 文档中的特定字段?
【发布时间】:2019-12-19 01:15:17
【问题描述】:

我有一个事件文档,其中包含标题、位置、容量、坐标等字段。我想设置允许更新文档的安全规则,但如果用户尝试更改容量字段,则会拒绝该请求

那么如何编写这样的安全规则呢?我可以这样做吗?

service cloud.firestore {
    function admin() {
        return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.admin == true
    }
    match /databases/{database}/documents {
        match /events/{eventId} {

              allow update: if // (allow if user not trying to update capacity field) ???
        }
    }
}

【问题讨论】:

    标签: firebase google-cloud-firestore firebase-security


    【解决方案1】:

    将请求的文档更新的内容与现有内容进行比较,以确保它没有改变:

    allow update: if request.resource.data.capacity == resource.data.capacity;
    

    request.resource 是传入请求的文档。 resource 是现有数据。

    【讨论】:

      猜你喜欢
      • 2020-06-19
      • 2019-03-03
      • 2019-08-26
      • 1970-01-01
      • 2019-06-17
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 2020-01-28
      相关资源
      最近更新 更多