我正在使用 firebase,我的用户设置如下:
{
"firebase-account-123": {
"users": {
"simplelogin:1": {
"properties"{ "name": "john doe", "email": "user@email.com" }
"children": {
"simplelogin:2":{ "name": "user 2", "email": "user2@email.com" },
}
},
"simplelogin:2": {
"properties"{ "name": "user 2", "email": "user2@email.com", "disabled": false }
}
}
}
我有客户经理应该有权访问的“ child ”。我是新手,我正在尝试解决我遇到的一些权限问题。
我的规则目前只允许用户读/写他们自己的数据。
.read": "auth.uid == $userid", ".write": "auth.uid == $userid"
有谁知道我如何才能让他们也能够为列在他们的“子”对象中的用户写入/读取数据(也许只是在属性对象中)?
最佳答案
如果您想允许 children
存储桶下列出的用户 ID 也可以读取和写入数据,请尝试在您的安全规则中使用 hasChild()
方法.
例如,使用您在上面概述的相同数据结构:
{
"rules": {
".read": false,
".write": false,
"users": {
"$userid": {
".read": "auth.uid == $userid",
".write": "auth.uid == $userid",
"properties": {
".read": "root.child('users').child(auth.uid).child('children').hasChild($userid)"
}
}
}
}
}
关于javascript - 基于数据对象的 Firebase 用户写入/读取规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913202/