2017-01-24 4 views
1

Ich versuche zu ermöglichen, dass ich alles in der Datenbank lesen und schreiben kann.Firebase Sicherheitsregeln für Admin, um alles in der Datenbank zu schreiben und zu lesen

Ich bekomme einen Lese verweigert Fehler, wenn Sie versuchen, dies im Firebase-Simulator auszuführen.

{ 
    "rules": { 

    ".read": "root.child('Admin').child('isAdmin').child('+$AUID').val() === true", 

    "Admin": { 
     "isAdmin": { 
     "$AUID": { 

      ".read": "$AUID === auth.uid", 
      ".write": "$AUID === auth.uid", 
      ".validate": "newData.hasChildren(['active'])", 

      "active": { 

      "active": "true" 
      }, 
     }, 
     }, 
    }, 
} 
+0

Change '+ $ AUID' auf $ AUID. Und ... Sie untersuchen das Schlüssel: Wert-Paar von $ AUID: true, das kein gültiges Schlüssel: Wert-Paar ist, zumindest in den bereitgestellten Regeln. Was definiert "sich selbst" im Gegensatz zu anderen Benutzern? – Jay

Antwort

4

Wenn Sie einen Benutzer Zugriff auf Ihre Firebase, deren Zugriffsebene geben wollen durch den Wert in einem anderen Knoten bestimmt wird, so etwas wie dies funktionieren kann. (Nicht geprüft)

users 
    uid_0 
    is_admin:true //your uid 
    uid_1 
    is_admin:false 

und Regeln

rules 
    ".read": "root.child('users').child(auth.uid).child('is_admin').val() == true" 
    ".write": "root.child('users').child(auth.uid).child('is_admin').val() == true" 
+0

Vielen Dank. – Ahmed

Verwandte Themen