2016-12-06 6 views
-1

У меня проблема с разрешениями базы данных.Права доступа к базе данных Firebase

У меня есть следующие разрешения:

"products_invisible": { 
      "$pid": { 
      ".read": true, 
      ".write": 
       true,//"auth != null && (root.child('users').child(auth.uid).child('user').child('admin').val() == true)", 
      ".validate": "newData.child('quantity').val() >= 0", 
     }, 
     ".read": true, 
    } 

"products_visible": { 
      "$pid": { 
      ".read": true, 
      ".write": 
       true,//"auth != null && (root.child('users').child(auth.uid).child('user').child('admin').val() == true)", 
      ".validate": "newData.child('quantity').val() >= 0", 
     }, 
     ".read": true, 
    } 

"products": { 
      "$pid": { 
      ".read": true, 
      ".write": 
       true,//"auth != null && (root.child('users').child(auth.uid).child('user').child('admin').val() == true)", 
      ".validate": "newData.child('quantity').val() >= 0", 
     }, 
     ".read": true, 
    } 

Я пытаюсь подтолкнуть некоторые данные:

  var productData = { 
       <some data>     
      }; 

      // Get a key for a new Post. 
      var newProductKey = firebase.database().ref().child('products').push().key; 
      var updates = {}; 

      updates['/products/' + newProductKey] = productData;//all products 

      //we also need to add product to other db tables 
      if(!vm.newProduct.visibility) { 
       updates['/products_invisible/' + newProductKey] = productData; 
      } 
      //visible products table 
      else if(vm.newProduct.visibility) { 
       updates['/products_visible/' + newProductKey] = productData; 

      } 

      //update 
      firebase.database().ref().update(updates); 

Однако, я вижу следующие ошибки, не знаю, почему. Я что-то упустил?

firebase.js:281 FIREBASE WARNING: update at/failed: permission_denied L @ firebase.js:281(anonymous function) @ firebase.js:454(anonymous function) @ firebase.js:386g.wd @ firebase.js:387qg.wd @ firebase.js:377(anonymous function) @ firebase.js:375cg @ firebase.js:359La.onmessage @ firebase.js:358 
firebase.js:458 Uncaught (in promise) Error: PERMISSION_DENIED: Permission denied(…) 
+0

Вы обновляете '/ products', с которым у вас, похоже, нет разрешения. –

ответ

0

Есть несколько проблем, в вашем фрагменте кода:

  1. Вы обновляя /products, что вы, кажется, не имеют разрешения на.

  2. Вы подтверждаете, что /products_visible/quantity больше 0, что я сомневался, что вы хотели это сделать. Более вероятно, что вы хотите, чтобы каждый продукт имеет количество, которое вы делаете с:

    "products_visible": { 
        ".read": true, 
        ".write": true,//"auth != null && (root.child('users').child(auth.uid).child('user').child('admin').val() == true)", 
        "$productid": { 
        ".validate": "newData.child('quantity').val() >= 0" 
        } 
    }, 
    

Задача 1 может быть просто забывание, чтобы добавить его к вопросу, но # 2, безусловно, проблема.

 Смежные вопросы

  • Нет связанных вопросов^_^