2017-11-03 5 views
1

Kann ich den Zugriff auf verschachtelte Felder in Firestore mit Regeln verwalten?Geschützte Sicherheitsregel für Firestore

Zum Beispiel in der Struktur

users 
    b1a2e3 
     profile 
     rating 
     personal_info 

Könnte ich Zugriff erlauben nur, wenn users.uid == request.auth.uid zu personal_info?

Antwort

0

Nein, die Regeln gelten nur für Sammlung und Dokumente. Sie können nicht nur einige Daten in einem Dokument erfassen.

Wenn Sie möchten, können Sie nicht versuchen, Ihre Struktur für so etwas mit den öffentlichen Informationen im Dokument UserUID ändern.

(Sammlung) Benutzer/(doc) UserUID/(Sammlung) private_info

und nutzen diese Regeln

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

    match /users/{userUID} { 

     // Other rules 

     match/personal_info/{allChildren=**}{ 
      allow read, write: if request.auth.uid == userID; 
     } 
    } 
} 

Sie weitere Informationen über Regeln für Firestore haben sich hier: https://firebase.google.com/docs/firestore/security/secure-data#nested_matches

+0

Also, wenn Ich habe nicht Recht zu lesen, ich werde nicht einmal Informationen erhalten, dass 'personal_info' Objekt existiert? – iiylll

+0

Oh Entschuldigung, ich vergesse das "Feld" in Ihrer Frage zu lesen. Ich werde meine Antwort bearbeiten – aTo

Verwandte Themen