首页 > 解决方案 > AngularFire 错误 - 客户端无权访问所需数据

问题描述

这是我第一次尝试让 angularjs 与 firebase 对话。

我已经在测试模式下设置了 firebase 数据库,所以没有身份验证,但我一直收到错误

控制器代码是

.controller('FaqsCtrl', ['$scope', '$firebaseArray', '$uibModal', function($scope, $firebaseArray, $modal, $filter) {               
    var ref = firebase.database().ref().child("faq");           
    $scope.faqs = $firebaseArray(ref);
}])

JS链接如下

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-route.min.js"></script>
<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/5.5.4/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.5.4/firebase-database.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/2.3.0/angularfire.min.js"></script>

Firebase 规则是

service cloud.firestore {
  match /databases/{database}/documents {
   match /{document=**} {
    allow read, write;
   }
  }
}

错误是 - 错误:permission_denied at /faq:客户端无权访问所需数据。

我在网上找到的所有内容似乎都适用于旧版本的 Firebase

标签: angularjsfirebasefirebase-realtime-databaseangularfirefirebase-security

解决方案


转到您的应用程序的 Firebase 控制台 从侧面菜单中选择数据库 --> 从上面的选项卡中选择规则 --> 像这样更新您的规则。 { "rules": {
".read": true, ".write": true } }

希望它能解决你的问题。


推荐阅读