私はドキュメントでそれを見つけることができませんでしたが、個人のグループを定義し、そのグループを使用して、個人のアクセスを許可するのではなく、ユーザーですか?ユーザーグループにFirebaseの場所へのアクセスを許可する
よろしく、 LT
私はドキュメントでそれを見つけることができませんでしたが、個人のグループを定義し、そのグループを使用して、個人のアクセスを許可するのではなく、ユーザーですか?ユーザーグループにFirebaseの場所へのアクセスを許可する
よろしく、 LT
あなたは非常に簡単に自分で表現できるので、Firebaseで「グループ」のための明示的なサポートは、ありません。あなたの状況に応じて2つのオプションがあります。
以下のデータは、2つの群( 'アルファ' と 'ベータ')と保護されたデータの3個( 'thing1'、 'thing2'、及び 'thing3')
{
"groups": {
"alpha": {
"joe": true,
"sally": true
},
"beta": {
"joe": true,
"fred": true
}
},
"data": {
"thing1": {
"group": "alpha"
/* data accessible only by the "alpha" group */
},
"thing2": {
"group": "beta"
/* data accessible only by the "beta" group */
},
"thing3": {
"group": "alpha"
/* more data accessible by the "alpha" group */
}
}
}
を表すために使用することができますその後、我々は、セキュリティを強化するために、以下のルールを使用することができます。私は、{ID:「サリー」}で認証していた場合
{
"rules": {
"data": {
"$thing": {
".read": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)",
".write": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)"
}
}
}
}
は、それでは私の認証対象として、私はthing1とthing3へのアクセス権を持っていますが、ではないでしょうthing2。
独自の認証トークンを生成しており、認証時にユーザーが属するグループがわかっている場合、生成する認証トークンにグループのリストを保存できます。たとえば、ユーザー 'fred'の認証トークンを生成する場合は、「{id: 'fred'、groups:{alpha:true、beta:true}}」を含めることができます。
{
"rules": {
"data": {
"$thing": {
".read": "auth[data.child('group').val()] != null",
".write": "auth[data.child('group').val()] != null"
}
}
}
}
マイケル、私たちが探していたものが最初の選択肢でした。 – user1452215
データへのアクセスを許可したい場合はどうすればいいですか?複数のグループ(1つではなく)の$ thing? .hasAnyChild()などのようなものがありますか? – Pl4yeR
最初のJSONオブジェクトはどこにありますか?それはグループ、アルファ、ベータなどを定義しますか?私はあなたが実際のルールセキュリティオブジェクトにそれを入れることはできないと思います...何かが欠けていない限り? – Matt