【发布时间】:2016-06-24 14:23:01
【问题描述】:
我有这个架构
"Photo": {
"$User": {
"$Photo": {
".validate": "auth.uid == $User && ((newData.hasChildren(['created', 'updated', 'image', 'title']) && data.val() == null && newData.val() != null) || data.val() != null && newData.val() != null && newData.child('updated').val() != null)",
"created": {
".validate": "newData.isNumber() && data.val() == null && newData.val() != null && newData.val() == now"
},
"updated": {
".validate": "newData.isNumber() && newData.val() == now"
},
"image": {
".validate": "newData.isString() && data.val() == null && newData.val() != null"
},
"title": {
".validate": "newData.isString() && newData.val().length > 3"
},
"$other": {
".validate": "false"
}
}
}
}
如果你看到我的验证规则
".validate": "auth.uid == $User && ((newData.hasChildren(['created', 'updated', 'image', 'title']) && data.val() == null && newData.val() != null) || data.val() != null && newData.val() != null && newData.child('updated').val() != null)"
我只为写入和更新写入权限,但是当我删除一个节点时,我可以删除它。我的目标是防止删除。为什么这个?错误在哪里?提前致谢
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security