【问题标题】:Firebase Security: read-only parent node, but writable child nodesFirebase 安全性:只读父节点,但可写子节点
【发布时间】:2014-04-15 02:15:43
【问题描述】:

我可以有一个只读的父节点,但允许写入其叶节点吗?

用例:

用户父级 小时候的见证

我会让经过身份验证的用户读取他们自己的用户对象,但允许他们向其他用户写推荐信。

还是应该将其作为两个父级节点并链接用户 ID?

谢谢。

【问题讨论】:

    标签: firebase firebase-security


    【解决方案1】:

    是的 - 你可以。

    在父规则设置限制性更强的 .write 规则,然后在叶节点设置限制性更小的 .write 规则。

    例如:

    {
       "root": {
           "parent": {
                "$user": {
                     ".write": false,
                     ".read": true,                    
                     "leaf": {
                         ".write": true
                     }
                 }
           }
    }
    

    【讨论】:

    • 如果 .write 在 $user(叶子的父级)级别被拒绝,叶子的可写性如何?
    • @Relm 因为安全规则继承的工作方式。叶级 .write = true 覆盖继承的父节点 .write = false。这类似于在root 设置限制性读/写规则。您不想让人们盲目地写入/删除您的所有结构,因此您通常拒绝对root 进行读取/写入,但您可以打开对数据树下方特定区域的访问权限。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多