что означает слово "ресурс" в базе данных пожарного магазина - PullRequest
0 голосов
/ 20 сентября 2019

Я занимаюсь разработкой веб-приложения, и, тестируя правила безопасности своей пожарной базы, я заметил, что вы не знаете значения слова «ресурс», и я хочу быть уверен, что единственный, кто может видеть пациента в больнице, долженбудь врачом, который на самом деле работает в больнице

function iamOfThisHospital(){
  return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.universalIndetifier.hospital 
  == request.resource.data.universalIndetifier.hospital
}

1 Ответ

0 голосов
/ 20 сентября 2019

В правилах безопасности Cloud Firestore resource относится к существующему документу в базе данных, а request.resource относится к документу, существующему в запросе (во время записи, то есть set или update).

То, что вы, вероятно, захотите для чтения (так как при чтении нет request.resource), сравните больницу пользователя с resource, а не request.resource:

function iamOfThisHospital(){
  return get(/databases/$(database)/documents/users/$(request.auth.uid)).data.universalIndetifier.hospital 
  == resource.data.universalIndetifier.hospital
}
...