У меня есть структура вроде этого:Firebase: позволяет читать коллекцию админами и конкретных записей пользователей
{ "users": {
{
"uid1" : {
"admin" : true,
"email" : "[email protected]",
"name" : "Admin User"
},
"uid2" : {
"email" : "[email protected]",
"name" : "User 1"
},
"uid3" : {
"email" : "[email protected]",
"name" : "User 2"
}
}
}
У меня есть следующие правила, которые позволяют администратору или сам пользователь, чтобы прочитать данные одного пользователя и работать, как ожидалось:
{
"users": {
".read": true,
"$uid": {
// data is the user's or user is admin
".read": "root.child('users').child(auth.uid).child('admin').val() == true || auth.uid == $uid",
}
}
}
Что мне нужно сделать, чтобы, в дополнение к тому, что правила уже позволяют, у пользователей администратора иметь возможность перечислить всех пользователей в коллекции?
Поскольку разрешение на чтение администраторов уже каскадируется, вам не нужно повторять разрешение администратора в '' uid'. Это правило может быть просто «.read»: «auth.uid === $ uid» ' –
Ницца! Похоже, я неверно истолковал документацию. Отлично работает, спасибо! –