В какой степени правила базы для детей переопределяются правилами, установленными для «родителей» в базе данных? - PullRequest
0 голосов
/ 14 апреля 2020

Скажите, что верхняя строка в базе данных позволяет авторизованным пользователям читать, но дочерние элементы этой записи базы данных разрешают только авторизованным пользователям читать свои собственные записи. Даст ли верхняя линия возможность для всех пользователей, выполняющих авторизацию на чтение, сделать недействительным дочернее правило, когда пользователи с аутентификацией могут читать только свои собственные?

, в частности, люди и идентификаторы будут недействительными координаты?

{
  "rules": {
  "people" : {
    ".read": "auth.uid != null",
    ".write": true
   ,"$uid": {
      ".read": "auth.uid != null",
      ".write": "$uid === auth.uid"
     ,  "Education" :{
         ".read": "auth.uid != null",
        ".write": "$uid === auth.uid"
      }
      ,"Coordinates" : {
        ".read": "$uid === auth.uid",
        ".write": "$uid === auth.uid"
      }  
       ,"ForReUpload": {
        ".read": "auth.uid != null",
       ".write": "$uid === auth.uid"
  }
      ,"PhotoPosts": {
      ".read": "auth.uid != null",
     ".write": "$uid === auth.uid"
      }

      ,"WhatIamConsideringBuying":  { 
      ".read": "auth.uid != null",
      ".write": "$uid === auth.uid"
  }
      ,"caption": {
        ".read": "auth.uid != null",
    ".write": "$uid === auth.uid"
  }
      ,"peopleWhoLike" : {
        ".read": "auth.uid != null",
        ".write": "$uid === auth.uid"
  }
      ,"peopleWhoLike2" : {
     ".read": "auth.uid != null",
    ".write": "$uid === auth.uid"
  }

      ,"postID" : { 
     ".read": "auth.uid != null",
    ".write": "$uid === auth.uid"
  }
      ,"users" : {     
     ".read": "auth.uid != null",
   ".write": "$uid === auth.uid"  
  }
    }
  }
  }
}

1 Ответ

0 голосов
/ 14 апреля 2020

Да, любое правило, которое применяется на высоком уровне, затронет всех детей, находящихся под ним. Дети не могут удалить доступ, предоставленный на более высоком уровне. Я предлагаю прочитать документацию, в которой обсуждается, как каскад правил чтения и записи :

Более мелкие правила безопасности переопределяют правила на более глубоких путях. Дочерние правила могут предоставлять только дополнительные привилегии тому, что родительские узлы уже объявили. Они не могут отозвать привилегию чтения или записи. Правила

.read и .write работают сверху вниз, при этом более мелкие правила переопределяют более глубокие правила. Если правило предоставляет права на чтение или запись по определенному пути, то оно также предоставляет доступ ко всем дочерним узлам в нем.

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