Как я ограничиваю в правилах базы данных Firebase в реальном времени доступ пользователей только к своим сообщениям? - PullRequest
0 голосов
/ 18 января 2020

Это мои правила базы данных реального времени, как я ограничиваю в базе данных firebase правила реального времени для доступа пользователей только к своим сообщениям? enter image description here

1 Ответ

0 голосов
/ 18 января 2020

Чтобы обеспечить безопасный доступ ваших пользователей к подмножеству данных в этом узле, вам нужны две вещи:

  1. запрос, который выбирает только те узлы, к которым вы хотите, чтобы они обращались.
  2. правил безопасности, которые затем разрешают только этот запрос.

Здесь важно осознать необходимость запроса, поскольку сами правила безопасности не фильтруют данные.

Итак, в вашем случае запрос (в JavaScript) будет выглядеть примерно так:

var uid = firebase.auth().currentUser.uid;
var query = firebase.database().ref('messages').orderByChild('userId').equalTo(uid);

И тогда вы будете проверять этот запрос с помощью правил, которые выглядят примерно так:

{
  "rules": {
    "messages": {
      ".read": "auth.uid != null &&
                query.orderByChild == 'userId' &&
                query.equalTo == auth.uid"
    }
  }
}

Подробнее об этом см. Документацию Firebase по правилам на основе запросов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...