6

現在、ユーザーがリストを作成し、完了した項目にチェックマークを付けることができる単純な todo アプリを持っています。データは、「/acc_」+ USER_ID +「/done」および「/acc_」+ USER_ID +「/todo」の構造になっています。項目が「完了」すると、完了リストに移動されます。

私が望むのは、ユーザーが別の認証されたユーザーとリストを共有できるようにすることです。

ルールは現在、次のように機能しているようです。

{
  "rules": {
        "$userPath": {
            ".read": "auth != null",
            ".write": "auth != null",
            ".validate": "$userPath === 'acc_' + auth.id"
        }
    }
}

私がする必要があると思うのは、承認された電子メールアドレスの配列を持つ各ユーザーに、何らかの方法でそれをセキュリティルールにフックさせることです.

または、ルートにリストを作成し、作成者と共有ユーザーのみがアクセスできるようにすることもできます。

ガイダンスはありますか?

4

1 に答える 1

1

リストを誰と共有するかはユーザーが決めるので、その情報をユーザー データ自体に保存します。例えば:

{
  "rules": {
    "$userPath": {
      ".write": "$userPath == 'acc_' + auth.id",
      ".read": "$userPath == 'acc_' + auth.id || root.child($userPath).child('shared').hasChild(auth.id)"
    }
  }
}

そして、データが共有されているユーザーのリストを保存しますacc_userid/shared/

于 2013-07-22T23:24:39.950 に答える