有没有一种方法可以让用户只有在拥有确切的文档ID的情况下才能阅读文档?
// should fail:
db.collection(`docs`).get()
// should succeed:
db.doc(`docs/${docId}`).get()
这就像你在谷歌文档中有链接共享,只有有链接才能访问文档一样。
是的,一旦您意识到安全规则中的read
是两个更细粒度操作的简写:list
和get
,这是可能的,而且实际上非常容易。
因此,如果只允许get
,则用户必须知道特定的文档ID,并且他们无法获取或查询整个集合
另请参阅有关细粒度安全规则操作的文档。