Правила хранения Firebase - доступ не соответствует правилам - PullRequest
2 голосов
/ 01 мая 2020

Вот мои правила:

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 являются обеими переменными.

Я что-то упустил?

1 Ответ

1 голос
/ 01 мая 2020

Работает так, как я и ожидал. В правилах безопасности версии 2 рекурсивные символы подстановки (allPaths=**) соответствуют 0 или более сегментам пути. Итак, ваше правило соответствует country=Test и type=Image.jpg, но ничего не найдено для allPaths.

Если вы хотите использовать только два сегмента пути, вам придется полностью избавиться от подстановочного знака allPaths. Или рассмотрите возможность вызова указанных c компонентов пути верхнего уровня вместо подстановочных знаков.

...