假设我试图让网页只有在用户拥有指向该网页的确切链接时才可读,我是否可以使用文档 ID 和安全规则的组合来实现这一点,如下所示?
例如。我有文档存储在
/posts/{postID}
我设置了安全规则:
match /posts/{postID} {
allow get, write: if true;
allow list: if false;
}
简单地禁用“列表”操作是否会使您只能在已经知道其确切 ID 的情况下访问文档?对我来说似乎是这种情况,但我不确定我是否遗漏了任何边缘情况。
答案 0 :(得分:2)
只要禁用“列表”操作,您就可以 只有在您已经知道其确切 ID 的情况下才能访问文档?
是的,这是正确的。
对 posts
集合的任何查询都将返回“权限缺失或不足”错误,即使是使用确切 ID 进行查询的查询,例如:
firebase
.firestore()
.collection('posts')
.where('__name__', '==', 'exactID')
.get()