Firebase安全规则:在具有特定子级的任何节点上写入访问权限?

时间:2017-02-06 13:45:50

标签: firebase firebase-realtime-database firebase-security

使用以下数据库结构:

Root
  - NodeA
       o    childNodea1
       o    childNodea2
       o    "MyFlag"
  - NodeB
       o    childNodeb1 etc…
  - NodeC
        o   …
  - NodeD etc….

我希望只有在写的孩子是“MyFlag”时才允许在任何节点上进行写访问。这意味着: 我没有root/NodeA/childNodea1的写入权限,但我可以写下孩子root/NodeA/MyFlag;作为孩子root/NodeD/MyFlag

我可以像这样在每个节点下编写规则:

"NodeA": {
    "MyFlag":{".write": "auth != null"}
 },

(same for eadh other nodes B, C, D ...)

但我想用通配符写一些内容,如:

"$nodeName": {
      "MyFlag": {".read":true,
                 ".write": "auth != null"}
},

此最后一条规则不起作用(在控制台模拟器上测试)。 我也尝试过:

".write": "auth != null && newData.parent().child(MyFlag).exists()",

哪个也行不通。
有什么想法吗?

0 个答案:

没有答案