Firebase firestore only allow read if user has exact document ID(Firebase FireStore只有在用户具有确切的文档ID时才允许读取)
问题描述
有没有办法让用户只有在拥有确切的文档ID时才能阅读文档? 数据-lang="js"数据-隐藏="假"数据-控制台="真"数据-巴贝尔="假">
// should fail:
db.collection(`docs`).get()
// should succeed:
db.doc(`docs/${docId}`).get()
这就好比您在Google文档中启用了链接共享,而您只有在拥有该链接的情况下才能访问该文档。
推荐答案
是的,如果您意识到安全规则中的read
是两个更精细操作的简写:list
和get
,这是可能的,而且实际上非常容易。
因此,如果您只允许get
,则用户必须知道特定的文档ID,并且他们无法获取或查询整个集合。
另请参阅granular security rules operations上的文档。
这篇关于Firebase FireStore只有在用户具有确切的文档ID时才允许读取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!