2016-08-21 4 views
0

Я прочитал Правила безопасности базы данных документации Google Firebase и я реализовал это следующее правило в моих правилах файла:Почему я могу писать в `/ users` с помощью этих правил базы данных Firebase?

{ 
    "rules": { 
    "users": { 
     "$user": { 
     ".read": "auth.uid === $user", 
     ".write": "auth.uid === $user" 
     } 
    } 
    } 
} 

Проблема заключается в том, что тестирование его в тренажере я видел, что я могу читать и писать все, что в пользователи, как нет правила.
Является ли это проблемой базы данных Firebase? Как я могу это решить?

Вот мой тест: Firebase database test

Вот ссылка документации: https://firebase.google.com/docs/reference/security/database/#variables

+0

Какая аутентификация вы использовали в симуляторе? И все эти правила безопасности? –

+0

С помощью этих правил вы не сможете писать в '/ users'. Можете ли вы поделиться дополнительной информацией (как попросил Андре) и скриншотом симулятора, показывающего следующую (смоделированную) запись? –

+0

Я отредактировал вопрос и добавил экран моего теста @ AndréKool – ale00

ответ

2

Правила в скриншоте отличаются от тех, которые вы вывешенные раньше.

В модели безопасности базы данных Firebase разрешения каскадируются вниз: после предоставления пользователю права на чтение или запись на узле вы не можете отнять это разрешение на более низком уровне. См. documentation on security rules for more information.

При удалении верхнего уровня ".write": "auth !== null", вы обнаружите, что вы больше не можете писать /users и может писать только /users/uid123 если вы пользователь uid123.

 Смежные вопросы

  • Нет связанных вопросов^_^