Как написать правило Firestore, чтобы разрешить доступ администратора - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь разрешить пользователю доступ к своему документу userID и его подколлекциям или документам

по пути: / main-collection / {userid}

, и я хочу, чтобы 'admin-userid 'имеет разрешения на чтение для всех документов / основной коллекции и вложенных коллекций

/ main-collection / {userid} в качестве документа

service cloud.firestore {
  match /databases/{database}/documents {   

    match /main-collection/{userId} {
      allow read, write: if request.auth.uid == userId || request.auth.uid == 'admin-userid';

      match /{document=**} {
        allow read, write: if request.auth.uid == userId || request.auth.uid == 'admin-userid';
      }
    }
  }  
}

1 Ответ

0 голосов
/ 10 февраля 2019

Если пользователю и администратору нужны одинаковые разрешения для всего в коллекции и подколлекций документов:

match /main-collection/{userId} {
  allow read, write: if request.auth.uid == userId || request.auth.uid == 'admin-userid';
}

match /main-collection/{userId}/{document=**} {
  allow read, write: if request.auth.uid == userId || request.auth.uid == 'admin-userid';
}
...