Я хочу реализовать ограничения на основе ролей в своем приложении.У меня есть информация о роли пользователя в одной коллекции документов.Теперь я хочу написать правила, чтобы ограничить различные операции записи, обновления в других коллекциях базы данных.
Поскольку я использую базу данных Firestore с React-Native, я только передаю информацию документа соответствующей коллекции при вставке / обновлении.Итак, как я могу передать информацию о роли пользователя вместе с этим, чтобы мое правило проходило проверку подлинности и чтобы данные не попадали в другую коллекцию.
Один пример, изображающий сценарий выше:
/collection1/document1
{
prop1: value1,
prop2: value2,
role: "WRITE"
}
/collection1/document2
{
prop1: value1,
prop2: value2,
role: "READ"
}
Теперь учтите, что текущий зарегистрированный пользователь - document2
.
У меня есть другая коллекция:
/collection2/doc1
{
userRef: document1, //this is id of document1 from collection1
...
}
Я хочу настроить правило firestore для collection2, чтобы, если запрос пришел от пользователя с role="WRITE"
затем разрешите только обрабатывать / обновлять документы.
Прочитал много статей и способов, но ни один из них не удовлетворяет этому варианту использования.
Любая помощь будет принята.