2016-04-20 5 views
0

Ich versuche, Firebase als Backend für eine Unternehmenssituation zu verwenden, in der es Clients geben wird, die Zugriff auf den von ihnen erstellten Inhalt haben müssen; und Mitarbeiter, die alle Daten einsehen müssen. Ist das in Firebase möglich? Ich konnte nicht sofort sehen, wie man eine solche Regel erstellt, wenn ich sagen würde, ich hätte eine Reihe von Firebase-Benutzern.Firebase - Erstellen von zwei Ebenen von Benutzern

Antwort

2

Ja, dies in Firebase auf jeden Fall möglich ist.

eine einfache Firebase Struktur Gegeben:

users 
    uid_0 
    name: "Rupert" 
    uid_1 
    name: "Buffy" 
    uid_2 
    name: "Zoran" 

admins 
    uid_2: true 

data 
    uid_0: "something interesting" 
    uid_1: "look ma, no hands" 
    uid_2: "Beam me up" 

und Regeln

"data": { 
    "$uid": { 
    ".read": "auth != null && ($uid == auth.uid || root.child('admins').child(auth.uid).exists())" 
    ".write": "auth != null && ($uid == auth.uid || root.child('admins').child(auth.uid).exists())" 
    } 
} 

Diese Regel stellt sicher, der Benutzer

1) authenticated and 
2) the node they are accessing has their uid as a key 
    or 
    their uid exists in the admins node. 

So Buffy wer uid_1 nur Zugriff auf „Look ma, no hands "und Zoran mit uid_2 (einem Admin) kann auf jeden Knoten zugreifen.

Dies könnte wahrscheinlich vereinfacht werden, aber es zeigt das Konzept.

+0

Große Antwort Jay! –

1

Die Dokumentation Firebase hat einige recipes einer von ihnen zeigt ein spezifisches Beispiel für role based security Implementierung