gpt4 book ai didi

ios - Firebase 为当前用户设置安全和规则

转载 作者:可可西里 更新时间:2023-11-01 02:17:18 24 4
gpt4 key购买 nike

我正在尝试让授权的当前用户读取他自己的数据并将其写入 Firebase 数据库。我的安全数据如下所示:

{
"features" : {
"-KDUBJIPwvLCK-1lV4bM" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : "een"
},
"-KDUBLUr6K_PMxWkgcof" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : "twee"
}
},
"users" : {
"e1fd0ccb-370a-4a6f-86af-87fdf97d25a0" : {
"email" : "tjalling@horecalife.nl",
"image" : "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAA\r\nABxpRE9UAAAA",
"name" : "tjalling dijkstra",
"telephone number" : "06580055"
}
}
}

-KDUBJIPwvLCK-1lV4bM 是从 childByAutoId() 方法中获取的 autoId

e1fd0ccb-370a-4a6f-86af-87fdf97d25a0 是一个 uid(唯一用户 ID)。

een 是某个特征的值。

我的安全规则是:

{
"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"
}
}
}
}
}

如果我这样编写 Firebase 规则,功能部分将拒绝对 setValue() 的许可。

2016-03-22 17:51:27.077 Herodus[884:228445] [Firebase] setValue: or removeValue: at /features/-KDUEEZ4z-FCAoUci-rW failed: permission_denied.

此代码段添加了一个新功能:

let featureContents = addFeatureTextField.text 
if featureContents != "" {
let newFeature: String = featureContents!
let featureDict = [ uid: newFeature]
let ref = DataService.dataService.FEATURE_REF.childByAutoId()
ref.setValue(featureDict)

有人知道我在这里做错了什么吗?

最佳答案

您正在写入此路径:

/features/-KDUEEZ4z-FCAoUci-rW 

您的规则仅授予对该路径的写权限:

/features/$autoId/$uid

您需要使用类似的方式写入数据:

ref.childByAppendingPath(authData.uid).setValue(featureDict)

关于ios - Firebase 为当前用户设置安全和规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36161137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com