Можно ли как-то определить правила для каждой таблицы по умолчанию в true и ограничить аутентификацию только пользовательского раздела?
Как только пользователь получит доступ к данным на определенном уровнев вашей базе данных они имеют доступ ко всем данным на этом уровне. Вы не можете отозвать это разрешение на более низком уровне. Таким образом, невозможно предоставить пользователю доступ ко всем данным в корне, а затем исключить один узел.
Что вы можете сделать, это использовать правила подстановки $
для создания двух типовузлов верхнего уровня:
{
"rules": {
"Users":{
"$uid":{
".read": true,
".write": "auth.uid == $uid"
}
},
"$others": {
".read": true,
".write": true
}
}
}
С вышеупомянутыми правилами пользователи могут:
- Только читать узел
/Users/$uid
пользователя, если они знают UID этого пользователя. - Может писать только свой собственный узел
/Users/$uid
. - Может читать и записывать все остальные данные.