2016-10-06 11 views
0

Wurde für das Verständnis Regeln durch einige Artikel gehen & Berechtigungen in Firebase und dann über Bedingungen wie es dazu kam, für write Betrieb:

{ 
    "rules": { 
    "users": { 
     "$uid": { 
     ".write": "$uid === auth.uid" 
     } 
    } 
    } 
} 

ich mit einem Verständnis ging, dass $uid steht für Benutzer-ID drücken und es gilt auf alle dynamischen IDs, die für den Knoten Users generiert werden.

sah dann diese Regel anders waren:

{ 
    "rules": { 
    "articles": { 
     "$article": { 
     "title": { 
        ".write": "auth != null", 
        ".validate": "newData.isString() && newData.val() != ''" 
     } 
     } 
    } 
    } 
} 

Wenn $article steht für ID Drücken für articles Knoten dann ID Drücken für users Knoten sollte auch $user gewesen sein. Ist es nicht? Wie lautet die Standardbenennungskonvention zum Deklarieren der Push-ID beim Konfigurieren von Regeln, damit Firebase diese korrekt analysiert?

Schließlich, was bedeutet auth.uid?

Antwort

3

Beginnen wir mit auth.uid, dies steht für die UID des authentifizierten Benutzers. Als nächstes sind $ user und $ article, diese Wildcard-Pfade, so dass sie alles sein können, nicht nur Push-IDs. Check out the docs für weitere Informationen.

In Ihrem ersten Beispiel ist $ uid ein Platzhalter für Benutzer-IDs. Und mit der Schreibregel prüfen Sie, dass der authentifizierte Benutzer kann nur auf seine eigene Lage schreiben, so dass es so etwas wie dies sein wird (Namen anstelle von uid der aus Gründen der Klarheit verwendet wird):

"users" : { 
    "Henk": {//Only Henk can write here 
    }, 
    "John": {//Only John can write here 
    } 
} 

Wie bei Benennung von Wildcard-Pfaden gibt es Soweit ich weiß, keine Konvention. Persönlich verwende ich beschreibende Namen, damit ich weiß, was es ist. Immer $ uid, wenn die Benutzer-UID als Pfad verwendet wird und ansonsten wie $ objectID für Objekt-IDs. (Diese können Push-Generated oder etwas Homebrew sein)

Für den Rest schlage ich vor, Sie nehmen sich etwas Zeit, um alle docs about security rules zu lesen.

+0

Zurückkommen hier nach 6 Monaten - Firebase neu lernen: D. Ur Erklärung & Sicherheitsregeln Links am Ende - KICKASS :) – BeingSuman

Verwandte Themen