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
0
A
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.
1
Die Dokumentation Firebase hat einige recipes einer von ihnen zeigt ein spezifisches Beispiel für role based security Implementierung
Große Antwort Jay! –