我不确定我做错了什么或这是错误行为:
我设置了以下安全规则:
{
"rules": {
"test": {
"$location": {
".read": true,
".write": true
}
},
"test1": {
"$location": {
".read": "$location === auth.uid",
".write": "$location === auth.uid"
}
}
}
}
然后我做createUser并在回调中发出:
testRef.child('test/bla/bla/bla').set('val1',
和
testRef.child('test1/' + authData.uid + '/bla/bla/bla').set('val1',
然而test1失败了! 在控制台中,我看到PERMISSION_DENIED
您可以在此处查看此演示:http://jsfiddle.net/xvajnxya/
如果相反,我创建了CreateUser然后unauth然后authWithPassword,然后是set然后test和test1都工作 - 这向我证明安全规则没问题。
您可以通过重新设置setval(authData)来测试小提琴;并取消标记unauthAuthwithpassSet(authData);
我很感激对此的反馈。