Firebase安全规则变量的范围是什么?

时间:2014-08-12 12:46:05

标签: firebase firebase-security

在Firebase中可以多次使用相同的变量名称,例如$itemId此处:

{
  "rules": {
    "items": {
      "$itemId": {                             // first time
        ".write": "$itemId == 1"
      }
    },
    "users": {
      "$userId": {
        "items": {
          "$itemId": {                         // second time
            ".write": "$itemId == 2"
          }
        }
      }
    }
  }
}

变量是否有范围?

1 个答案:

答案 0 :(得分:0)

一般来说,security rules cascade。变量仅适用于声明它们的块{...}。它们适用于该区块的所有儿童。

{
  "rules": {
     "$level1": {
        "$level2": {
           "bar": {
               ".validate": "..." // $level1, $level2 are both usable here
           }
        }
     }
     "pathb": {
        ".validate": "..." // here $level1 is undefined
     }
  }
}