Правила безопасности Firebase Regex в пути - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть правило безопасности, напишите так:

 /databases/{database}/documents {

     match /collection_COUNTRY_EN/{docId} {
          allow....
     }

     match /collection_COUNTRY_ES/{docId} {
          allow... 
     }
}

Где правило одинаково для всей страны. Есть ли способ реализовать регулярное выражение в match / path, чтобы иметь одинаковое правило для всей коллекции, которая начинается с чего-то и заканчивается кодом страны? Или я должен структурировать свои данные по-другому?

Спасибо за ваше время.

1 Ответ

1 голос
/ 15 апреля 2020

Правила безопасности не поддерживают регулярное выражение в совпадении пути. Вы можете использовать подстановочный знак только для полного имени сегмента пути.

Вместо этого вы можете вместо этого организовать всю свою общую коллекцию верхнего уровня в подколлекции, организованные в рамках известного документа, и применять те же правила к каждому из них таким образом:

match /countries/data/{countryCollection}/{docId} {
    allow...
}

Это будет относиться к тем же разрешениям для всех подколлекций стран, организованных в / country / data, которые могут быть пустым документом или даже несуществующим документом.

...