我正在尝试实施此处概述的规则:https://stackoverflow.com/a/56047977/1604072
match /{path=**}/posts/{post} {
allow read: if request.auth.uid != null;
}
这将产生以下错误:无效的全局匹配表达式。全球匹配 允许作为比赛声明路径中的最后一段。
这是现在编写此书的唯一/正确方法吗?:
match /{path=**}{
match /collectionItems/{collectionItem} {
allow read: if request.auth.uid != null;
}
}
答案 0 :(得分:1)
只需将 /{path=**}/
替换为 /{prefix=**}/
就可以了
最后应该是这样的:
match /{prefix=**}/posts/{post} {
allow read: if request.auth.uid != null;
}
答案 1 :(得分:0)
对于未来的用户,刚刚发现this bit of documentation。不知道为什么我最初找不到它:
基于收集组保护和查询文档
在安全规则中,您必须明确允许收集组 通过为收集组编写规则进行查询:
- 确保
rules_version = '2';
是规则集的第一行。收集组查询要求使用安全规则版本2的new recursive wildcard{name=**}
行为。- 使用
match /{path=**}/[COLLECTION_ID]/{doc}
为您的收藏组编写一条规则。