有没有办法在Firebase规则中存储自定义表达式以供重用?

时间:2015-08-03 07:08:20

标签: firebase firebase-security

我希望能够多次在Firebase规则中重复使用表达式。

如果我有以下规则:

{
  "rules": {
    ".read": true,
    ".write": false,
    "secretArea1": {
      ".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
      ".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
    },
    "secretArea2": {
      ".read": "root.child('users').child(auth.uid).child('role').val() === 'admin'",
      ".write": "root.child('users').child(auth.uid).child('role').val() === 'admin'"
    }
  }
}

有没有办法在某个地方存储root.child('users').child(auth.uid).child('role').val() === 'admin',所以不必重复4次?

类似的东西:

{
  "rules": {
    ".read": true,
    ".write": false,
    "secretArea1": {
      ".read": "isAdmin",
      ".write": "isAdmin"
    },
    "secretArea2": {
      ".read": "isAdmin",
      ".write": "isAdmin"
    }
  }
}

也许我正以错误的方式接近这一点。任何建议都会很棒!

1 个答案:

答案 0 :(得分:1)

我刚发现在Blaze Compiler链接的Security & Rules Libraries。不完全是我想要的,并添加了额外的编译步骤,但似乎提供了我正在寻找的功能。如果将它作为选项包含在Firebase仪表板中,那就太棒了。