Firebaseを使用して、いくつかの子ノードが安全であるノードを取得するにはどうすればよいですか?例えばFirebase - セキュアノードを使用しないでデータをフェッチしますか?
...
データ構造:
root: {
clients: {
c1: {
data: {
name: "person1"
}
permissions: {
clientId: "abc"
trainerId: "123"
}
}
c2: {
data: {
name: "person2"
}
permissions: {
clientId: "def"
trainerId: "123"
}
}
}
}
セキュリティ:
"clients": {
"$clientKey": {
"data": {
".read": "data.parent().child('permissions').child('clientId').val() == auth.token.name || data.parent().child('permissions').child('trainerId').val() == auth.uid",
".write": "data.parent().child('permissions').child('trainerId').val() == auth.uid"
}
}
}
だから私は、達成しようとしているものを以下れます。クライアントは自分のデータを読むことができます。トレーナーは、クライアントのいずれかを読み書きすることができます。 id
がpermissions
にある場合は、指定どおりに読み書きできます。
しかし、私の問題は、トレーナーとして、私が読める許可を得ているすべてのクライアントのリストを見たい場合になります。
クライアントを取得するにはどうすればよいですか? clients
でデータの読み取り/フェッチを行うだけで失敗します。
これらの権限は、実際にシミュレータであなたのために働くのですか?私はそれらを働かせることはできません。 –
いいえ、私のためではありません。 https://firebase.googleblog.com/2016/10/group-security-in-firebase-database.html私は答えが一通りではないことを理解しています。私が尋ねる理由は、私が実用的な解決策を見つけ出すことができないか、それがどのように機能するか分からない。 –