【发布时间】:2017-07-01 21:35:35
【问题描述】:
这些是我的规则:
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid",
"username": {
".read": true,
".write": "!data.exists() && newData.exists()",
".validate": "newData.isString()"
}
}
},
"usernames": {
"$username": {
".read": true,
".write": "!data.exists() && newData.exists()",
".validate": "newData.isString() && newData.val() == newData.parent().parent().child('users/' + auth.uid + '/username').val()"
}
}
}
}
但是,在模拟器中我看到一个错误,但没有看到错误发生在哪一行。我只看到“写被拒绝”。在 XCode 的模拟器中执行此操作时,我看到“权限被拒绝”。我想检查给定的用户名是否唯一,仅此而已。
编辑:
也许我不是很清楚。模拟器确实显示错误,但不是在哪一行。然而,这是我的错误。见图1: 我在路径上犯了一个错误。
这是我的第二次尝试,图2:
在图 3 中我添加了错误描述:
这在模拟器中出错了,我可以从我的项目中添加代码,但我认为规则不好。
【问题讨论】:
-
请编辑您的问题以包括 1) 失败的代码和 2) 允许相同操作的模拟器屏幕截图。
-
是的,我用一些图片更新了它。够了还是我应该发更多?这是图 3:i.stack.imgur.com/o6lCg.png
标签: swift firebase firebase-realtime-database firebase-security