【问题标题】:Firestore nested security ruleFirestore 嵌套安全规则
【发布时间】:2017-11-03 12:40:03
【问题描述】:

我可以在 Firestore 中使用规则管理对嵌套字段的访问吗?

例如在结构中

users
   b1a2e3
      profile
      rating
      personal_info

我可以仅在users.uid == request.auth.uid 允许访问personal_info 吗?

【问题讨论】:

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


    【解决方案1】:

    不,规则仅适用于集合和文档。您不能只获取文档中的部分数据。

    如果您愿意,您不能尝试使用文档 UserUID 中的公共信息更改类似这样的结构。

    (collection) User / (doc) UserUID / (collection) private_info

    并使用此规则

    service cloud.firestore {
      match /databases/{database}/documents {
    
      match /users/{userUID} {
    
            // Other rules
    
             match/personal_info/{allChildren=**}{
                allow read, write: if request.auth.uid == userID;
            }
      }
    }
    

    您可以在此处了解有关 Firestore 规则的更多信息: https://firebase.google.com/docs/firestore/security/secure-data#nested_matches

    【讨论】:

    • 所以如果我没有阅读权限,我什至不会得到personal_info对象存在的信息?
    • 抱歉,我忘记阅读您问题中的“字段”。我将编辑我的答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-19
    • 2019-07-05
    • 1970-01-01
    • 2020-06-19
    相关资源
    最近更新 更多