İzin verilen geçerli kullanıcının Firebase veritabanına kendi verilerini okuyarak yazmasına izin vermeye çalışıyorum. Benim güvenlik verileri aşağıdaki gibidir:Firebase, geçerli kullanıcı için güvenlik ve kuralları ayarladı
{
"features" : {
"-KDUBJIPwvLCK-1lV4bM" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : "een"
},
"-KDUBLUr6K_PMxWkgcof" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : "twee"
}
},
"users" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : {
"email" : "[email protected]",
"image" : "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAA\r\nABxpRE9UAAAA",
"name" : "tjalling dijkstra",
"telephone number" : "06580055"
}
}
}
-KDUBJIPwvLCK-1lV4bM
childByAutoId()
yöntemle
e1fd0ccb-370a-4a6f-86af-87fdf97d25a0
gelen kazanılmış bir AutoID bir uid (benzersiz kullanıcı kimliği) 'dir. Belirli bir özelliğin değeri
een
.
My güvenlik kuralları şunlardır:
{
"rules": {
"users": {
"$uid": {
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid"
}
},
"features": {
"$autoId" : {
"$uid": {
".read": "auth != null && auth.uid == $uid",
".write": "auth != null && auth.uid == $uid"
}
}
}
}
}
böyle Firebase kuralları yazarsanız, setValue()
izni özellikleri kısmında engellendi. 51:
2016-03-22 17 27,077 Herodus [884: 228445] [Firebase] setValue: veya removeValue: özellikler/at/-KDUEEZ4z-FCAoUci-RW başarısız oldu: permission_denied. Yanlış burada ne aradığımı
let featureContents = addFeatureTextField.text if featureContents != "" { let newFeature: String = featureContents! let featureDict = [ uid: newFeature] let ref = DataService.dataService.FEATURE_REF.childByAutoId() ref.setValue(featureDict)
Somebody herhangi bir ipucu:
yeni bir özellik bu kod parçası ile eklenir?
Sorunuzdaki JSON ağacı ve güvenlik kurallarının bir resmini eklediniz. Lütfen bunu gerçek JSON ve güvenlik kurallarıyla metin olarak değiştirin. Firebase veritabanınızdaki Dışa Aktar düğmesini tıklayarak JSON'u kolayca alabilirsiniz. JSON ve güvenlik kurallarını metin olarak kullanmak onları aranabilir hale getirir, bunları gerçek verilerinizle test etmek ve bunları cevaplarımızda kullanmak için genel olarak kullanmamıza izin verir ve genel olarak yapılması gereken sadece iyi bir şeydir. –
Sorunuzun hemen altında bir [değiştir] (http://stackoverflow.com/posts/36161137/edit) bağlantısı var. –
Umarım Frank, Firebase'de bir mühendis olarak ;-) –