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



我正在尝试建立一个只有我才能编写的Firebase数据库。因此,没有用户有权编写任何内容。但是每个人都能读懂它。

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

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

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

.

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

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

这应该有效:

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

世界上的每个人都可以读取数据,但只有具有 UID dJrGShfgfd2(以及具有管理访问权限的进程)的用户才能写入数据。

在版本 2 中:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
      allow write: if request.auth.uid == "dJrGShfgfd2";
    }
  }
}

最新更新