使用规则禁用 Firebase Cloud Firestore 中的查询集合

2024-01-17

我正在使用 Firebase Cloud Firestore,并且我想修改我的规则以限制用户查询集合。

这是不应该允许的:

firestore().collection("users").get()

但这应该被允许:

firestore().collection("users").doc("someUserId").get()

目前,我的规则如下:

match /users/{userId} {
    allow read;
}

但此规则允许查询“users”集合。

如何允许单个文档获取,但不允许集合查询?


您可以将读取规则分解为get and list。 get 的规则适用于单个文档的请求,list 的规则适用于集合的查询和请求(docs https://firebase.google.com/docs/firestore/reference/security/#request_methods).

match /users/{userId} {

  //signed in users can get individual documents
  allow get: if request.auth.uid != null;

  //no one can query the collection
  allow list: if false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用规则禁用 Firebase Cloud Firestore 中的查询集合 的相关文章

随机推荐