Правило Firebase - В доступе отказано - PullRequest
1 голос
/ 02 мая 2020

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

{
  "users": {
     "123456": {
         "Name": "ABC"
         "uid": "123456"
     }
  }
  "Orders":{
     "987654": {
         "Customer ID": "123456"
         "Other Details":  *****
     }
  }
}

Где пользователи - это список пользователей в моей базе данных. А Заказы - это заказы, размещаемые каждым из пользователей. Показанный идентификатор пользователя и идентификатор заказа являются фиктивными. Они генерируются ключом pu sh. Теперь заказы могут быть прочитаны пользователем, если «Идентификатор клиента» совпадает с идентификатором пользователя. Для которого у меня есть следующее правило Firebase:

"Orders":{
  ".indexOn": ["Customer ID"],
  "$Orders_id": {
    ".write": "((root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null) ||(auth != null && !data.exists())",
    ".read": "root.child('Orders/'+$Orders_id+'/Customer ID').val() === auth.uid && auth != null "
  }
}

Однако я получаю сообщение «Отказано в доступе». Первая запись данных была безупречна. Может кто-нибудь, пожалуйста, руководство.

1 Ответ

0 голосов
/ 06 мая 2020

Вы уверены, что читаете / пишете о правильном узле из кода.
вы можете получить доступ для чтения / записи в этом узле => Orders/{Orders_id}
вы не можете получить доступ для чтения / записи в этом узле = > Orders

...