Правила безопасности Firestore с пробелами в пути - PullRequest
0 голосов
/ 05 июня 2018

Мне нужно создать правило firestore для подмножества под названием «Тестовые случаи».Так как правила firestore не написаны на javascript, я не могу найти путь после совпадения, чтобы принять пробел без ошибки.

Я пробовал кавычки, обратную косую черту для escape-символов и помещал весь путь в кавычки.Я не нашел ничего для этого в документации пожарного магазина или переполнения стека.

Как я могу разрешить пробелы в пути после сопоставления, в приведенном ниже примере, в пути, включающем «Тестовые случаи»?

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();
      }
    }

1 Ответ

0 голосов
/ 11 июня 2018

В соответствии с поддержкой пожарной базы:

Чтобы исправить это, вы можете закодировать пространство в правилах безопасности, используя% 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(); 
} 
} 
} 

Я попробовал это и работал для меня.Пожалуйста, попробуйте и дайте нам знать, если у вас есть какие-либо проблемы.

...