Firebase belgelerindeki örnekler, firebase güvenlik kurallarının el ile güncelleştirildiğini varsayar. Güvenlik kuralları gerçek dünyadaki işbirlikçi uygulamaları desteklemek için nasıl programlanabilir? Göz önünde bulundurduğum kullanım durumunda, bir kullanıcının diğer kullanıcıları seçili verileri paylaşması/paylaşması ve ortak çalışanlara erişim vermesi/iptal etmesi için davet etmesi gerekir. Bu, firebase ile nasıl başarılabilir?Firebase'de güvenlik kurallarını program aracılığıyla nasıl değiştirebilirim?
cevap
Güvenlik kurallarınızı programsal olarak değiştirmemelisiniz. Bunları kodu olarak düşünmelisiniz ve sadece bunları kurulum zamanında değiştirmelisiniz.
Yapmaya çalıştığınız şey, kullanıcıların gerçekten ne yapmasına izin verildiğini değiştirmekse, bunu Firebase'inize bağlı olan güvenlik kurallarını yazarak yapmanız gerekir. Örneğin, belirli bir gruptaki kullanıcılara bir veriye erişimi kısıtlamak istediğinizi varsayalım. Grup üyeliği her değiştiğinde güvenlik kurallarını değiştirmekten ziyade, grubu Firebase'de depolamanız ve erişiminizin izin vermeden önce geçerli kullanıcının o grupta olup olmadığını kontrol etmek için güvenlik kurallarınızı kontrol etmeniz gerekir.
".read" : "root.child('groups').child($groupID).child(auth.userid).exists()"
Bu şekilde, her zaman grup üyeliği değişiklikleri, kullanıcılar otomatik olarak görmeye izin verilmelidir verilere erişim izni verilecektir.
Daha karmaşık bir güvenlik kuralları örneği için Firefeed numaralı telefonun rules.json dosyasına bakın.
Ancak dinamik olarak eklenmiş veri kümeleri nasıl ele alınır?
Bunu, $
düğümünü kullanarak gerçekleştirirsiniz. Bu şuna benzer: Burada
users
- userIDHere
- name: John Doe
- whatever: who knows
Ve bunu yaparak her kullanıcı kuralları ayarlarsınız: Bu ne soran vardı olduğunu
{
"rules": {
"users": {
"$user": {
// whatever rules you want here, and you can reference $user to get the user's id.
}
}
}
}
Umut ve umut Bu yardımcı olur! Hızlı yanıt için
- 1. UIsegmentedControll'u program aracılığıyla nasıl değiştirebilirim?
- 2. Windows Güvenlik Duvarı'nı program aracılığıyla kullanma
- 3. Uygulamamın yerel ayarını Swift aracılığıyla program aracılığıyla nasıl değiştirebilirim?
- 4. Program aracılığıyla e-posta gönderirken Outlook'un güvenlik uyarısından nasıl sakınabilirim?
- 5. Windows masaüstü simgesi konumlarını program aracılığıyla nasıl değiştirebilirim?
- 6. GradientDrawable değişim açısı program aracılığıyla
- 7. Program işlevine program aracılığıyla erişme
- 8. UILongPressGesture'u program aracılığıyla nasıl gönderebilirim?
- 9. UITabBarController program aracılığıyla nasıl gizlenir?
- 10. windowDrawsSystemBarBackgrounds program aracılığıyla nasıl kurulur?
- 11. UIScrollView Program aracılığıyla nasıl oluşturulur?
- 12. Program aracılığıyla öznitelik nasıl eklenir
- 13. UISearchDisplayController'ı program aracılığıyla nasıl kapatırım?
- 14. Ember.js: Program aracılığıyla bir rotaya nasıl erişilir?
- 15. Program aracılığıyla Özelleştirme UITableViewCell
- 16. Program aracılığıyla RadioButtons oluşturma
- 17. Program aracılığıyla bir UIView
- 18. Linux'ta duvar kağıdını program aracılığıyla değiştirme
- 19. NUnit program aracılığıyla çalıştırılıyor
- 20. Program aracılığıyla Xcode
- 21. Print FixedDocument program aracılığıyla
- 22. Program aracılığıyla UITableViewCell tokatlamak?
- 23. Program aracılığıyla oluşturulmuş UIPopoverPresentationController
- 24. Program aracılığıyla bir program oluşturucu oluşturun.
- 25. Menüyü program aracılığıyla WPF'de gösterme
- 26. Program aracılığıyla Windows Service yükleme
- 27. Düğüm modüllerini program aracılığıyla güncelleştirme
- 28. Metin Alanları Oluşturma program aracılığıyla
- 29. iPhone'dan SMS gönder Program aracılığıyla
- 30. vurgulu olayı program aracılığıyla gönderin
teşekkürler. Dinamik olarak güncellenen kullanıcının işlem yapması için grupları kullanmak mantıklı. Ancak dinamik olarak eklenen veri kümeleri nasıl ele alınır? Örneğin, bir kullanıcı/users/userid/projects/projectid altında bir proje oluşturabilir ve ardından söz konusu proje için bir grup iş ortağı grubuna okuma erişimi vermek isteyebilir. Bu Firebase ile nasıl yapılır? – Jarnal
Grup kurulumu sadece bir örnekti. Gruplara sahip olmanıza gerek yok - istediğiniz herhangi bir veriye bağlı olabilirsiniz. Örneğin, veri kümesinin kendisi "okunabilir" bir bayrağı olabilir, eğer true olarak ayarlanırsa herkesin okumasına izin verilir. Ya da, kullanmasına izin verilen kullanıcıların "okunabilir" bir listesi olabilir. Etc ... –
@AndrewLee, Daha karmaşık bir durumum var: Odaları dinamik olarak oluşturuyorum ve her odayı yalnızca belirli X ortak çalışanlarıyla sınırlamak istiyorum, herkesin orada yazmasını engelliyorum. Oda erişiminin ardından bu erişim haklarını nasıl belirleyebilirim? Milyonlarca farklı oda olabileceğini unutmayın. –