Как есть, код и правила в вопросе совпадают, код считывает узел пользователей, и правила позволяют любому аутентифицированному пользователю читать этот узел и перебирать дочерние данные.
Я считаю, что ваш настоящий вопрос is
Как мне получить более детальный контроль над тем, что может быть записано на дочерний узел в Firebase, используя правила Firebase
предположим, что у нас есть структура, которая соответствует вашим правилам
users
uid_0
garden: "rose"
hose: "green"
uid_1
garden: "tomato"
hose: "black"
и предположим, что мы хотим разрешить пользователю только обновлять свой собственный сад; другие пользователи не могут изменять этот пользовательский сад. например, uid_0 может изменять только узел /users/uid_0/garden
. uid_1 может изменять только /users/uid_1/garden
et c.
Вот правило, которое позволяет всем аутентифицированным пользователям читать узел пользователей, но только текущий аутентифицированный пользователь может писать в свой собственный садовый узел
{
"rules": {
".read": false,
".write": false,
"users" : {
".read": "auth != null",
"$uid": {
"garden": {
".write": "$uid === auth.uid" //only the authenticated user can write
}
}
}
}
}
Обратите внимание, что я установил для чтения и записи значение false на высоком уровне и предоставляю доступ на более низком, более детальном уровне.
Итак, в этом случае, если был другой узел на том же уровне, что и 'users 'никто не мог читать или писать на нем.