Firebase实时数据库规则

时间:2020-03-21 11:02:45

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

我的数据库规则如下,仅允许授权用户读取/写入自己的数据。但是,我希望每个人都可以未经授权读取所有数据库。我该怎么办?

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

1 个答案:

答案 0 :(得分:1)

“我希望每个人都未经授权阅读所有数据库”的含义并不能100%明确。

如果您的意思是任何人都可以阅读帖子(即使没有帐户的用户,即未经身份验证的用户),则可以按以下方式调整规则:

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

如果您的意思是只有经过身份验证的用户才能阅读所有其他用户的帖子(换句话说,经过身份验证的用户将获得阅读所有帖子的授权),则可以按以下方式调整您的规则:

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

有关更多详细信息,请参见doc