Verwendung von Firebase-Regeln, um nur bestimmten Blattknoten die Berechtigung zu erteilen

Meine grundlegende Frage ist, wie Sie Firebase-Regeln einrichten, um nur den Zugriff auf bestimmte Blattknoten von deren übergeordneten Knoten aus zuzulassen.

Nehmen wir an, ich habe Daten, die so aussehen:

root: {
  posts: {
    post1: {
      user: "foo",
      post: "this is a post",
      restricted: false
    },
    post2: {
      user: "bar",
      post: "this is another post",
      restricted: true
    },
    post3: {
      user: "bar",
      post: "this is my final post",
      restricted: false
    }
  }
}

ich will$bind Gehen Sie zum Knoten posts und rufen Sie alle Posts ab, die dieser Benutzer erhalten darf. Ich möchte möglicherweise, dass der Administrator auf alle Posts zugreift, aber Nicht-Administratoren nur auf Post1 und Post3 zugreifen können.

Hinweis: Ich verwende die $ bind-Funktion von angularFire, um Knoten zu synchronisieren.

Ich glaube nicht, dass das möglich ist, aber ich möchte meine Regeln so einrichten können:

{
  "rules": {
    "posts": {
      ".read": "auth.admin || $post.hasChild('restricted').val() !== true",
      "$post": {
      }
    }
  }
}

Wie erreichen andere Benutzer dies? Vielen Dank.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage