每个用户编写的firebase规则&读他自己的数据

时间:2017-12-18 11:14:45

标签: angular firebase ionic-framework

尝试在网上寻找它但无法获得此解决方案.. 我的应用程序上有一个firebase数据库,并希望每个用户(auth)能够只读取和写入自己的数据。 我的应用程序中的页面生成了用户输入但未获得如何管理规则的数据,因此只有用户自己才能查看和编辑数据。

以下是规则:

{
"rules": {
".read": "auth != null",
".write": "auth != null"
  }
}

默认的! 我该怎么办?

使用离子框架

2 个答案:

答案 0 :(得分:1)

您可以这样做:

{
  "rules": {
      ".read": "auth.uid == $uid",
      ".write": "auth.uid == $uid"
  }
}

例如:

{
  "rules": {
    "usersData": {
      "profiles": {
        "$uid": {
          ".read": "auth.uid == $uid",
          ".write": "auth.uid == $uid"
        }
      }
    }
  }
}

在此示例中,用户只能在路径/usersData/profiles/[USER'S_AUTH_UID]/下写入他的帐户,用户无法读取根路径,无法查看任何配置文件,也无法写入任何节点,除非他自己的。

修改: 此外,还有一个名为Bolt的firebase工具,这应该有助于使事情更容易和更容易维护,同时使高级规则更容易实现,查看他们的Guide here

答案 1 :(得分:-1)

您应该查看Firebase - secure user data

match /users/{userId} {
  allow read: if request.auth.uid == userId;
  allow write: if request.auth.uid == userId;
}

在这种情况下,每个用户都有自己的数据库。只需将一些数据推送到此ref / users / {userId}

即可