我需要为名为“Test Cases”的子集合创建一个firestore规则。由于firestore规则不是用javascript编写的,我似乎无法在匹配后获取路径以接受没有错误的空间。
我尝试过引号,转义符用于转义字符,并将整个路径放在引号中。我没有在firestore文档或堆栈溢出中找到任何相关内容。
如何在匹配后允许路径中的空格(在下例中)包含“测试用例”的路径?
service cloud.firestore {
match /databases/{database}/documents {
match /companies/{company} {
allow read: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']);
allow write: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']);
match /Test Cases/{tests} {
allow read, write: if isSignedIn();
}
}
答案 0 :(得分:1)
根据消防基地的支持:
要解决此问题,您可以使用%20对安全规则中的空间进行编码。所以规则是:
Service cloud.firestore {
match /databases/{database}/documents {
match /companies/{company} {
allow read: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']);
allow write: if getUserCompany() == company || userHasAnyRole(['Super', 'Manager']);
match /Test%20Cases/{tests} { <-------
allow read, write: if isSignedIn();
}
}
}
我尝试过并为我工作。如果您有任何问题,请试一试并告诉我们。