允许其他用户读取/写入Firebase数据库

问题描述 投票:1回答:1

我有一个像这样的数据库树

users
-UID
--items
---all the data

我想在UID下添加一些像shared:another-UID的东西,并允许其他UID读取和写下项目下的所有内容。

例如:

users
-UID
--shared:different_UID
--items
---all the data

我目前的规则是这样的

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

我如何更改规则以允许此操作?

firebase-realtime-database firebase-security-rules
1个回答
0
投票

在这种情况下,您的规则将成为:

{
  "rules": {
    "users": {
      "$uid": {
        ".read": "auth != null && (auth.uid == $uid || data.child('shared').val() === auth.uid)",
        ".write": "auth != null && (auth.uid == $uid || data.child('shared').val() === auth.uid)"
      }
    }
  }
}

换言之:如果密钥与用户ID相同,或者用户ID存储在数据下的shared属性中,则用户可以读取/写入此数据。

© www.soinside.com 2019 - 2024. All rights reserved.