如何修改Firebase数据库规则

时间:2019-01-24 19:52:10

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

这些规则很好用,但是我也想赋予所有者读取居民数据的能力。如何重写规则?

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

1 个答案:

答案 0 :(得分:0)

这将使所有者能够访问任何居民数据:

"Residents": {
  "$uid": {
    ".read": "$uid === auth.uid || root.child('Owners').child(auth.uid).exists()",
    ".write": "$uid === auth.uid"
  }
}   

注意:

  • 它允许所有所有者看到所有居民。如果您想更严格地控​​制哪些所有者可以看到哪些居民,则需要进一步调整规则。
  • 虽然每个所有者可以看到每个居民,但他们无法获得居民列表。如果需要,您需要向他们授予/Residents上的访问权限。