【发布时间】:2018-11-14 19:05:10
【问题描述】:
例如,如果我创建了一个节点(书),它的子节点(作者)具有值(“作者姓名”)。我想要的是将来没有人可以更新或删除这个子节点。我知道使用 firebase 安全规则是可能的,但我无法找出最佳方法。
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security
例如,如果我创建了一个节点(书),它的子节点(作者)具有值(“作者姓名”)。我想要的是将来没有人可以更新或删除这个子节点。我知道使用 firebase 安全规则是可能的,但我无法找出最佳方法。
【问题讨论】:
标签: firebase firebase-realtime-database firebase-security
您可以编写一个数据库规则,只允许创建新数据,一旦写入就不能编辑任何内容。
这允许您在 $key 位置不存在数据的情况下创建新的 book。它还确保newData 存在并且author 是string 变量。
{
"rules": {
"book": {
"$key": {
"author": {
".validate": "newData.isString()"
},
".write": "data.val() == null && newData.val() != null"
}
}
}
}
【讨论】:
newData.val() === data.val()。
data.val() === null 强制create 只写,它不允许update 或delete?
".write": "data.val() == null" 所以它可能更简单?这三种解决方案都可以!