Security Firebase安全性:从数据值进行读写访问
我正在构建一个简单的数据结构,我希望Firebase安全规则能够适应它 现在我获得了Security Firebase安全性:从数据值进行读写访问,security,firebase,firebase-security,Security,Firebase,Firebase Security,我正在构建一个简单的数据结构,我希望Firebase安全规则能够适应它 现在我获得了读取权限的权限\u被拒绝 我知道您通常应该围绕安全规则来设计数据结构,但是对于这种数据结构,有非常具体的原因 所以我想尝试让安全规则围绕它工作 以下是我的数据的json导出: 以下是到目前为止我对安全规则的了解: 我从未见过一个用例有两个$location变量,一个接一个,所以我可以想象这就是问题所在。欢迎任何意见。 谢谢 更新 感谢Frank建议使用安全模拟器(https://.firebaseio.com
读取权限的权限\u被拒绝
我知道您通常应该围绕安全规则来设计数据结构,但是对于这种数据结构,有非常具体的原因
所以我想尝试让安全规则围绕它工作
以下是我的数据的json导出:
以下是到目前为止我对安全规则的了解:
我从未见过一个用例有两个$location
变量,一个接一个,所以我可以想象这就是问题所在。欢迎任何意见。
谢谢
更新
感谢Frank建议使用安全模拟器(https://.firebaseio.com/?page=Simulator),我玩了一会儿就很快解决了问题。谢谢你,弗兰克
我不明白(尽管我读了十几遍)这个概念。一旦我得到了它,就很容易了。对我来说很有用:newfirebase(newfirebase”)https://stackoverflow.firebaseio.com/29297747/form/form一次('value',函数{console.log(s.val());})
vsnewfirebase('https://stackoverflow.firebaseio.com/29297747/users/116296988270749049875once('value',函数{console.log(s.val());})
。您可以设置类似的复制吗?Firebase仪表板中的安全模拟器也清楚地解释了这些读取失败的原因。如果你还没有试过模拟器,下一站可能会很好。同时,我在用于测试的Firebase上重新启用了全局读取;否则太多现有的小提琴将无法工作。谢谢你,弗兰克!我一进入安全模拟器,一切都很快变得有意义。我现在明白了!太好了,你终于明白了。规则的级联效应确实是其中一个棘手的部分。你认为你能把你的发现写在答案里吗?StackOverflow鼓励自答,了解问题所在可能有助于其他人。事实上,请将您的发现反馈给社区。
{
"form" : {
"form" : {
"data" : "Form",
"owner" : "116296988270749049875",
"public" : true
}
},
"users" : {
"116296988270749049875" : {
"data" : "Daniel Murawsky"
}
}
}
{
"rules": {
"$form":{
"$dataId":{
".read": "data.child('public').val() == true",
".write": "data.child('owner').val() == auth.uid"
}
}
}
}