如何只允许一个管理员用户编写Firebase数据库?

时间:2017-01-20 20:25:42

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

我正在尝试设置一个只有我可以编写的Firebase数据库。所以没有用户有权写任何东西。但每个人都能阅读它。

但是,我无法为它设置规则。我有一个使用电子邮件/密码登录创建的管理员用户,我知道它的UID。我们说我的UID是:dJrGShfgfd2

我尝试了这两种方法,但他们不允许我写入数据库。

{
  "rules": {
    "events": {
      ".read": true,
      ".write": "auth.uid === 'dJrGShfgfd2'"
    }
  }
}

{
  "rules": {
    "users": {
      "$user_id": {
        ".read" : true,
        ".write": "$user_id === 'dJrGShfgfd2'"
      }
    }
  }
}

那么如何只允许一个具有特定UID的用户向数据库写入任何内容?

1 个答案:

答案 0 :(得分:17)

这应该有效:

{
  "rules": {
    ".read": true,
    ".write": "auth.uid === 'dJrGShfgfd2'"
  }
}

世界上的每个人都能够读取数据,但只有具有UID dJrGShfgfd2(和processes with administrative access)的用户才能读取数据。