Правила базы данных Firebase в реальном времени не работают

У меня следующая настройка firebase:

- root
  - v1
    - auth
     - "key1" : "value",
     - "key2" : "value,
     - ...
    - config
    - announcements

Хочу, чтобы у всего был ".write" :"auth!=null" И что все читается, кроме auth, который должен быть ".read" : "auth!=null"

Я пробовал следующие правила, но они не работают!

{
    "rules": {
        ".read": true,
        ".write": "auth != null",
        "v1": {
            ".read": true,
            ".write": "auth != null",
            "auth": {
                ".read": "auth != null",
                ".write": "auth != null"
            }
        }
    }
}

Пожалуйста, включите данные и код, которые вы используете для проверки. Также как именно не работают эти правила? (Можете ли вы читать, когда не следует, или наоборот?)

André Kool 13.09.2018 17:08

Узел auth содержит пары ключ-значение, при переходе к auth.json он фактически показывает мне данные, хотя он не должен

sn0ep 13.09.2018 17:15

Я так и думал. Вам действительно нужно добавить такую ​​информацию в свой вопрос, если вы хотите, чтобы люди вам помогали. Просто сказать, что что-то не работает, совершенно бесполезно, потому что это может означать многое. Но если вы хотите что-то подобное, вам придется переписать свои правила по-другому, потому что каскад правил

André Kool 13.09.2018 17:20
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
1
3
769
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваши правила предоставляют всем доступ для чтения ко всему в вашей базе данных, но затем пытаются отобрать доступ для чтения к более глубокому дочернему узлу. Вы не можете сделать это с помощью правил базы данных реального времени. После того, как вы предоставите доступ для чтения узлу, этот узел и все его дочерние элементы будут постоянно доступны для чтения. В этом случае говорят, что правила базы данных «каскадные». Вы не можете отклонить доступ к дочернему узлу, если любой из его родителей доступен для чтения.

Пожалуйста, прочтите документацию о правилах каскадных баз данных.

Спасибо действительно полезно

sn0ep 13.09.2018 17:26

Другие вопросы по теме