超级基本的Firestore安全规则不起作用

时间:2020-06-11 04:50:02

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

我找不到我可以写成在操场上工作的最简单的Firestore安全规则。为了进行测试,我制作了一个Cloud Firestore数据库,其中包含一个名为users的集合。它具有一个字段stuff。在操场上,这些是我的规则:

service cloud.firestore {
  match /databases/{database}/documents {    
    match /users/{user} {
      allow read, write: if true;
    }

    match /{document=**} {
      allow read, write: if false;
    }
  }
}

我正在模拟一个上车地点:/databases/(default)/documents/users,但是由于document=**匹配而总是失败,并且从未匹配/users/{user}。为什么是这样!感觉就像我在遵循文档中最基本的示例。

添加了一些屏幕截图以进行澄清。

Firestore

Rules Playground. Note that the location is <code>/databases/(default)/documents/users</code>

1 个答案:

答案 0 :(得分:2)

在“规则游乐场”的位置字段中,您无需输入/databases/(default)/documents/。路径的这一部分已经考虑在内,因为它在可编辑字段上方显示,带有浅灰色(或变灰)的/databases/(default)/documents字符串。

因此,只需输入users/C8YDk...就可以了,因为由于overlapping matching statement,您的规则允许阅读文档。

有关如何使用游乐场的更多信息,请参见here