webentwicklung-frage-antwort-db.com.de

Der Kunde hat keine Berechtigung, auf die gewünschten Daten in Firebase zuzugreifen

Ich habe eine Seite, die die addCheckin()-Methode aufruft, die sich in einem Controller befindet. Im Controller versuche ich, eine Referenz wie folgt zu erstellen:

var ref = firebase.database().ref("users/" + $scope.whichuser + "/meetings/" +$scope.whichmeeting + "/checkins");

$scope.whichuser und $scope.whichmeeting sind der $routeParams, den ich von einer anderen Route aus passiert . Hier ist mein Check-In-Controller-

myApp.controller("CheckinsController",
    ['$scope','$rootScope','$firebaseArray','$routeParams','$firebaseObject',
    function($scope,$rootScope,$firebaseArray,$routeParams,$firebaseObject){

        $scope.whichuser = $routeParams.uid;
        $scope.whichmeeting = $routeParams.mid;

        var ref = firebase.database().ref("users/" + $scope.whichuser + "/meetings/" +$scope.whichmeeting + "/checkins");

        $scope.addCheckin = function(){
            var checkinInfo = $firebaseArray(ref);
            var data={
                firstname:$scope.firstname,
                lastname:$scope.lastname,
                email:$scope.email,
                date:firebase.database.ServerValue.TIMESTAMP
            }

            checkinInfo.$add(data);
        }

}]);/*controller*/

Es gibt zwei Fehler, die ich hier bekomme:

Fehler 1:

Error: permission_denied at /users/Vp2P1MqKm7ckXqV2Uy3OzTnn6bB3/meetings: Client doesn't have permission to access the desired data.

Fehler 2:

Error: permission_denied at /users/Vp2P1MqKm7ckXqV2Uy3OzTnn6bB3/meetings/-KT5tqMYKXsFssmcRLm6/checkins: Client doesn't have permission to access the desired data.

Und das ist es, was ich zu erreichen versuche.

 enter image description here

16
Aakash Thakur

Gehen Sie zur Firebase-Konsole Ihrer App 

Wählen Sie Datenbank über Seitenmenü -> Regel auswählen aus den Registerkarten oben -> Aktualisieren Sie Ihre Regel auf diese Weise 

{
    "rules": {    
        ".read": true,
        ".write": true
    }
}

hoffe es löst dein problem. Vielen Dank :)

25
Ujjwal kaushik

Es scheint, dass die/users/{uid} -Routen beschrieben werden können, aber nicht gelesen werden können. Ich habe/user zu/userx geändert und es fing sofort an zu arbeiten.

0
Nate Bunney

Firebase-Projekt startet standardmäßig mit Firestore als Datenbank. 

Dieses Problem kann auftreten, wenn die Anwendung "Firebase-Echtzeitdatenbank" verwendet und die Berechtigung dafür nicht konfiguriert ist. Die Lese- und Schreibberechtigung für die Firebase-Echtzeitdatenbank sollte explizit erteilt werden. 

Wählen Sie dazu in der Firebase-Konsole Datenbank> Wählen Sie "Echtzeitdatenbank" anstelle von "Firestore Beta" aus der Dropdownliste neben Datenbank> Regeln> Festlegen 

{
/* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
"rules": {
".read": true,
".write": true
}
}

Hoffe das hilft!

0
kundan