如何在 Firebase 中向指定用户授予写入权限?

Amb*_*óth 3 firebase firebase-security firebase-authentication firebase-realtime-database

我有一个移动应用程序,它在没有 firebase 登录/身份验证(帖子和新闻)的情况下从 firebase 服务器读取数据,我想创建一个管理网页,我可以在其中登录并添加或修改新闻,所以我需要那里的写权限. 我的规则目前是:

{
  "rules": {
    ".read": true,
    ".write": "auth !== null && ?????
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以写类似的东西"user.emailAddress == 'mail@example.com'"吗?

cem*_*zel 5

您可以在数据库上创建一个用户表,例如

{
  "users":{
     "your UID":{
        "isAdmin": true
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

然后编辑规则:

{
  "rules": {
    ".read": true,
    ".write": "auth.uid != null && root.child("users").child(auth.uid).isAdmin === true"
  }
}
Run Code Online (Sandbox Code Playgroud)