Firebase允许在节点中写入作者ID的节点

时间:2017-11-09 17:58:25

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

我有一个简单的数据库结构,其中组成员可以将另一个用户添加到该组。 例如 用户A创建了“咖啡爱好者”组。 只有用户A才能将人员添加到组中。 用户B现在在该组中。 这也允许B邀请。

group-members:{
  "-k3ajsdfklje":{ // This is group id
    groupName: "Coffee Lovers",
    members:{
      "kjk2139_erjw92": true,  // This is member A
      "fekjfqlwke,x9q": true   // This is member B
    }
}
users:{ // Users node.
    kjk2139_erjw92:{
       name:"User A"
    },
    fekjfqlwke,x9q:{
       name:"User B"
    },
    jfkdjklfjklern:{
       name:"User C"
    }
}

用户A(“kjk2139_erjw92”)可以将任何人添加到该组。 用户B(“fekjfqlwke,x9q”)可以将任何人添加到该组。 用户C(“jfkdjklfjklern”)无法将任何人添加到该组中。

我不确定如何构建数据库规则。

group-members:{
   "$groupId":{
      members:{
        ".read": true, // This list is publically available
        ".write": "user who is trying to write is authenticated and is included in this list"
        // TODO: I don't know how to write this ".write" part!
      }
    }
}

1 个答案:

答案 0 :(得分:2)

你可以尝试

".write": "data.child(auth.uid).exists()"