benim Firebase aşağıdaki veri yapısı vardır:Firebase güvenlik kuralları
{
"groups" : {
"-KEFQ7rTQscPX4hqn6ec" : {
"createdBy" : "b5cd3a86-108e-4ef3-9ab8-8a1e4da7491c",
"description" : "Test",
"isPublic" : true,
"title" : "T1"
},
"-KEFQao_Wd-Y-nLzIx2e" : {
"createdBy" : "b5cd3a86-108e-4ef3-9ab8-8a1e4da7491c",
"description" : "B",
"isPublic" : false,
"title" : "E"
}
}
ve aşağıdaki ulaşmak için çalışıyorum:
- Herkes isPublic" sahip tüm grupların okuyabilir "gerçek ==
- Sadece oluşturdukları gruplar görebilirsiniz kullanıcılar giriş
İlk yaklaşımdır:
{
"rules": {
"groups": {
".read": true,
"$id": {
".read": "data.child('isPublic').val() === true"
}
}
}
}
This stackoverflow post çalışmıyor açıklıyor, ama ben bunu çalışmasını sağlayacak çözemedim.
Düzenleme 1:
This post kamu/özel sorun için bir çözüm (benim 1. soru) ancak ikinci soru için vardır.
Düzenleme 2: Kamu/özel sorun için çalışma çözümü için @VonD için
teşekkürler.
Bu çözümle, kamu/özel ile ilgili sorun çözülür. Özel bir grubun çok sayıda üyesi olduğunu ve bunların kullanıcı kimliklerini başka bir dizide "üyeler" içinde saklayacağını düşünürsek - yalnızca üye olduğum sürece gruba erişime nasıl izin veririm?
"privateGroups": {
"b5cd3a86-108e-4ef3-9ab8-8a1e4da7491c": {
"-KEFQao_Wd-Y-nLzIx2e" : {
"createdBy" : "b5cd3a86-108e-4ef3-9ab8-8a1e4da7491c",
"description" : "B",
"title" : "E",
"members": [userId1, userId2, userId3...]
}
}
}
Gerçekten işe yarıyor! Teşekkür ederim! :) –