如何在Firebase实时数据库中编写规则?

时间:2020-08-05 10:00:44

标签: android json firebase firebase-realtime-database firebase-authentication

我得到了如下安全规则。但是在规则操场上进行测试时。 阅读和更新时-模拟被拒绝。

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

Rules playground

我需要根据我的数据库结构添加json数据。考虑到我的实时数据库结构。如何编写用于读写的安全规则?

real time database

2 个答案:

答案 0 :(得分:0)

如下更改规则

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

优秀的文档-https://firebase.google.com/docs/database/security

.read和.write规则级联,因此此规则集授予对/ foo /路径以及/ foo / bar / baz之类的更深路径的任何数据的读取访问权限。请注意,数据库中较浅的.read和.write规则将覆盖较深的规则,因此,即使示例中/ foo / bar / baz路径中的规则被评估为false,在此示例中仍将授予对/ foo / bar / baz的读取访问权限。

答案 1 :(得分:0)

您的规则不允许用户访问整个/users集合。在模拟中,您可以尝试访问/users/<uid>位置,该位置应该可以正常工作。