0

のはFirebase DBを表すことができリテラルJSONオブジェクトの次のような構造を考えてみましょう:Firebaseのアクセス許可を使用して、Firebase DB内のオブジェクトの特定のフィールドのみを読み取りアクセスできますか?

{ 
    "users": { 
    "user0": { 
     "name": "Mike", 
     "age": 20, 
     "relationship": "married", 
     "friends": [...] 
    }, 
    "user1": { 
     "name": "Sarah", 
     "age": 20, 
     "relationship": "single", 
     "friends": [...]  
    }, 
    ... 
    } 
} 

Firebase permission systemを使用して、それは、対応するアクセス権を設定することにより、(ためnameage読みを行うことが可能ですtrue)、より細かい聴衆にしか表示されない状態にするユーザーfriends

これを達成するにはどうすればsecurity-rules.jsonを書きますか?

+0

[「JSONオブジェクト」のようなものはありません](http://benalman.com/news/2010/03/theres-no-suchthing-as-a-json/) – Andreas

答えて

1

個人的には、すべてのユーザーに読取りを許可するデータと、一部のユーザーのみに読取りを許可するデータの異なるパスがあります。これは今のように思えるかもしれませんが、アプリケーションの開発を続けていくうちに、ユーザーの属性を追加または変更する可能性があります。これを行うたびに、データベースのセキュリティ・ルールを追加する必要があります。

それでも、データベースセキュリティルールを使用して権限を処理する場合は、保護するパスごとにルールを作成できます。例:

"rules": { 
    "users": { 
     "$user": { 
      "relationship": { 
       ".read": <some condition> 
      } 
     } 
    } 
} 

例については、the documentationを参照してください。

関連する問題