2

Ich versuche, Firebase-Speicher basierend auf Benutzerrolle zu beschränken.gibt es eine Möglichkeit, Benutzerrolle in Firebase Speicherregeln zu authentifizieren?

Database: 
    users 
     <uid> 
      admin=false 
      ... ... ... 

Ich versuche, die folgende Art von Regel in Feuerbasis Speicher zu verwenden:

root.child('users').child(auth.uid).child('user').child('admin').val() == true 

Ich bin immer Zugang nach dem Hinzufügen dieses an die Schreibregel verweigert.

Danke.

+0

Die Firebase Speichersicherheitsregeln nicht auf Daten in der Datenbank verweisen. Siehe [diese Antwort] (http://stackoverflow.com/questions/38188459/create-group-access-to-firebase-storage-wito-using-custom-authorization) oder [this one] (http: // stackoverflow. com/questions/38157858/firebase-storage-was-die-richtige-regeln-für-benutzer-based-uploading-löschen- für die möglichkeit, etwas wie rollenbasierte sicherheit zu tun. –

+0

Danke Frank. Es ist ein bisschen hacky, aber ich denke, das ist alles was ich für jetzt tun kann. – Ahsan

Antwort

3

Wie Frank van Puffelen wies in seinem Kommentar aus:

function isAdminUser() { 
    return request.auth.uid in { 
     "yaddayadddayaddUserIDKey":"User Name1" 
    }; 
} 

service firebase.storage { 
    match /b/<appName>.appspot.com/o { 
     match /{allPaths=**} { 
      allow read; 
      allow write: if request.auth != null && isAdminUser(); 
     } 
    } 
} 
+1

Die Admin-Funktion scheint hartcodierte Werte zu sein. Ist das derzeit die einzige Option? – kernowcode

+0

Leider ist das alles nur für den Moment. – Ahsan

Verwandte Themen