firebase-database 授权书

示例

识别用户只是安全性的一部分。一旦知道了他们是谁,便需要一种方法来控制他们对数据库中数据的访问。Firebase数据库规则允许您控制每个用户的访问权限。例如,这是一组安全规则,允许任何人读取该路径/foo/,但没有人可以写入该路径:

{
  "rules": {
    "foo": {
      ".read": true,
      ".write": false
    }
  }
}

.read和.write规则级联,因此此规则集授予对/ foo /路径以及任何更深层路径(如)的任何数据的读取访问权限/foo/bar/baz。需要注意的是.read和.write规则,允许访问将覆盖不允许访问数据库中的其他规则; 换句话说,所有适用规则都.read与.write规则进行“或”运算。因此/foo/bar/baz,即使路径中的规则/foo/bar/baz评估为false,在此示例中仍将授予对的读取访问权限。

Firebase数据库规则包括内置变量和函数,可让您引用其他路径,服务器端时间戳,身份验证信息等。这是一个规则的示例,该规则向授予已认证用户的写访问权限/users/<uid>/,其中是通过Firebase身份验证获得的用户ID。

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}