【问题标题】:Firebase security rules for collections in collection集合中集合的 Firebase 安全规则
【发布时间】:2020-07-01 04:11:29
【问题描述】:

我正在尝试使用 Firebase Firestore 为一个集合中的所有集合设置 Firebase 安全规则。我有一个名为 Chats 的集合,其中有两个集合,一个是线程,另一个是用户。所有文档的 id 都是随机的。

这就是我的 Firebase 数据的样子:

我正在尝试为所有聊天、线程和用户设置安全性。因为聊天包括线程集合和用户集合但是在设置如下规则时:不能正常工作:权限缺失或不足。

// Chats can be read & written by all users
  match /Chats/{document} {
    allow read, create, update, delete, write: if true
  }

我也试过了:

   match /Chats/{document}/thread/{document1} {
     allow read, create, update, delete, write: if true
    }


   match /Chats/{document}/users/{document2} {
     allow read, create, update, delete, write: if true
    } 

但它不起作用,所以如果有人可以帮助我。

【问题讨论】:

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


    【解决方案1】:

    您当前的规则仅匹配 /Chats 集合中的文档:

    match /Chats/{userId} 
    

    要使其也匹配子集合,它必须是:

    match /Chats/{document=**} {
    

    另请参阅 securing hierarchical data 上的 Firebase 文档,特别是 recursive wildcards 部分。

    【讨论】:

    • 您好,如果我想设置与特定子集合不同的安全规则,您能帮我吗?
    • 这听起来像是一个新问题。请记住,一旦获得许可,您就无法撤销许可。所以你不能像我的回答那样设置通配符后简单地说:“你可以阅读所有内容,但不能阅读这个”。
    猜你喜欢
    • 2020-02-02
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多