0

TodoMVC の例 ( https://github.com/firebase/angularFire/tree/gh-pages/examples/todomvc ) を考慮すると、このアプリに認証を追加する場合、ユーザーの可視性をどのように処理できますか?つまり、ユーザー 1 が todo アイテムを追加した場合、それがユーザーにのみ表示され、ユーザー 2 がログインした場合、ユーザー 1 のアイテムが表示されないようにしたいと考えています。どうすればこれを達成できますか?

これに加えて、この 2 番目の質問は前の質問と多少関連していると思います。todo とユーザー、および各 todo の可視性を保存する最良の方法は何ですか?

4

1 に答える 1

2

認証用のシンプル ログインについて話していると仮定すると、userオブジェクトには ID が含まれます (カスタム ログインでは、コンテンツを決定します)。Todo をユーザー ID で分割し、別々のパスに保存します。

/todos/user_id/...

次に、セキュリティ ルールでは、ログイン後、authオブジェクトにユーザーの ID が含まれるため、ユーザーごとに各パスを保護できます。

"todos": {
   "$user_id": {
       ".read": "auth.id === $user_id",
       ".write": "auth.id === $user_id",
   }
}

複数のプロバイダーを使用する場合は、id は特定のプロバイダーに対してのみ一意であるため、これもプロバイダーごとに分割する必要があることに注意してください。

/todos/provider_id/user_id
"todos": {
   "$provider_id": {
       "$user_id": {
           ".read": "auth.id === $user_id && auth.provider === $provider_id",
           ".write": "auth.id === $user_id && auth.provider === $provider_id",
       }
   }
}
于 2013-07-19T15:01:55.577 に答える