Firebase 存储规则 - 授予的访问权限与规则不匹配



以下是我的规则:

rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{country}/{type}/{allPaths=**} {
allow read, write;
}
}
}

出于某种原因,我可以在这个路径上写和读:child(Test).child("Image.jpg"),但不应该。我应该只能在这个路径child(Test).child(Test2).child("Image.jpg")上写和读取

Test和Test2都是变量。

我是不是错过了什么?

正如我所期望的那样工作。在安全规则版本2中,递归通配符(allPaths=**(与0个或多个路径段匹配。因此,您的规则是匹配country=Testtype=Image.jpg,而不匹配allPaths

如果您只想要两个路径段,则必须完全取消allPaths通配符。或者,考虑调用特定的顶级路径组件,而不是对所有内容进行随意梳理。

最新更新