Firebase安全规则问题
我在制定firebase的安全规则时遇到了一些问题。我不断遭到拒绝 这是我理想的结构。以便更容易读取数据。如果某个模型不存在。用户将能够为该车创建一个部分,并将他的帖子放在那里。但是当另一个用户想要发布同一车型时。他只会在帖子列表中添加内容Firebase安全规则问题,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,我在制定firebase的安全规则时遇到了一些问题。我不断遭到拒绝 这是我理想的结构。以便更容易读取数据。如果某个模型不存在。用户将能够为该车创建一个部分,并将他的帖子放在那里。但是当另一个用户想要发布同一车型时。他只会在帖子列表中添加内容 { "rules":{ ".read":"auth != null", "Cars":{ "$anyCar":{ "$postName":{ ".writ
{
"rules":{
".read":"auth != null",
"Cars":{
"$anyCar":{
"$postName":{
".write":"auth != null",
".validate":"newData.hasChildren(['uid']) && newData.child('uid').isString() && newData.child('uid').val() == auth.uid"
}
}
}
}
}
这就是我为这个数据库实现规则的方式
{
"Volvo":{
"-KM_nqDpB78ZM0SE485F":{
"color":"-10053121",
"comments":0,
"date":10,
"id":1231,
"uid":"45738372-3b72-4328-aa99-a00c05482973",
"rating":0,
"topic":"Volvo is a safe car",
"user":"Brahim"
}
}
}
这是我在模拟器上尝试使用的json
。
当我使用模拟器时,我已通过身份验证,并且我正在对位置
/Cars
进行尝试 根据您的安全规则,您可以写入帖子,但不能创建新帖子
您应该允许在$anycar
节点中进行写访问,并且可能只允许该特定用户编辑帖子
{
"rules":{
".read":"auth != null",
"Cars":{
"$anyCar":{
".write":"auth != null",
"$postName":{
".write": "auth.uid == newData.child('uid').val()"
".validate":"newData.hasChildren(['uid']) && newData.child('uid').isString()"
}
}
}
}
}
根据你的安全规则,你可以写一篇文章,但不能新建一篇 您应该允许在
$anycar
节点中进行写访问,并且可能只允许该特定用户编辑帖子
{
"rules":{
".read":"auth != null",
"Cars":{
"$anyCar":{
".write":"auth != null",
"$postName":{
".write": "auth.uid == newData.child('uid').val()"
".validate":"newData.hasChildren(['uid']) && newData.child('uid').isString()"
}
}
}
}
}