Безопасные данные в Firebase - Пример Firepad

В настоящее время я занимаюсь разработкой веб-приложения для Firebase, которое использует Firepad в качестве одного из инструментов.

Все работало нормально, пока я не попытался защитить базу данных в реальном времени правилами. Вот новые правила

 {
  "rules": {
        "allmembers":{
        ".read":"auth != null",
          ".write":"auth != null && !data.exists() && newData.exists()"
      },

  "orgs":{

    "$org":{ 
      ".read": "data.child('members/'+auth.uid).exists()",
        ".write": "data.child('members/'+auth.uid).exists()",

          "info":{
          }, 
         "members":{
          },

        "processes":{
           "$process":{
                "bpm":{
              },
              "firepad":{
              }
           }   
        }
    }
  }
  }
}

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

Правила хорошо работают для установки / получения данных $org такие как изменение "членов" или "ударов в минуту" за исключением orgs/$org/processes/$process/firepad,

Так почему консоль выдает мне это предупреждение, а firepad не может читать и записывать данные в базе данных firebase?

FIREBASE WARNING: set at /orgs/1/processes/processus/firepad/users/0xcNuXRLk0g2fedKfH35qLFxy9R2/cursor failed: permission_denied

РЕДАКТИРОВАТЬ: Вот пример, который я в настоящее время использую и работает. Однако с правилом ".read":trueкаждый может получить доступ к Firepad других организаций?

{  
  "rules":{  
    "orgs":{  
      "$org":{  
        ".read":"data.child('members/'+auth.uid).exists()",
        ".write":"data.child('members/'+auth.uid).exists()",
        "info":{  

        },
        "members":{  

        },
        "processes":{  
          "$process":{  
            "bpm":{  

            },
            "firepad":{  
              "history":{  
                ".read":true
              },
              "checkpoint":{  
                ".read":true
              }
            }
          }
        }
      }
    }
  }
}

1 ответ

Похоже, у вас на пути странный "процесс":

/ Orgs/1/ Процессы /отросток / firepad / пользователей /0xcNuXRLk0g2fedKfH35qLFxy9R2/ курсор

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