我目前正在创建Firebase安全规则,以防止用户将节点设置为null并删除该节点中的所有数据。
这是我的架构
$(document).on(event, selector, function(){
//implementation
});
这些是我的规则
{
"folder" : {
"item1" : {
"dataset1" : {
"data1" : 123,
"data2" : 456,
"data3" : 789
}
}
}
}
使用内置模拟器我得到了这些结果:
当location设置为“/ folder / item1”和“/ folder / item1 / dataset1”
时,此方法有效
如果我在data1中有更深的节点,那么它们都将被删除,因为允许写入。
感谢您的阅读。打开任何答案,最好不需要更改架构。
答案 0 :(得分:0)
我不清楚你在问什么。但是你的规则存在一些问题,所以我只是指出这些问题,希望他们回答你的问题。
/folder
的写入权限,您无法在较低级别获取该权限。 /folder
下,就允许任何写入。需要记住的是newData
是写操作后存在的位置数据;它不只是写入的新数据。.validate
规则阻止删除。请记住,删除数据时不会执行验证,因此您无法使用.validate
规则来阻止删除。我怀疑#2导致了您当前的问题。