【问题标题】:No Permission error using Firebase使用 Firebase 没有权限错误
【发布时间】:2016-06-05 09:53:32
【问题描述】:

我第一次尝试将 Firebase 添加到离子应用程序中。我已经设置了我的项目并引用了 javascript 文件,但是当我运行应用程序时,我看到了错误“错误:权限被拒绝”

我尚未在我的应用中设置身份验证,但如果我理解正确,我不应该在我只是测试时这样做。

我的 index.html 包含以下内容:

<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- Firebase -->
<script src="https://cdn.firebase.com/js/client/2.2.4/firebase.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/1.2.0/angularfire.min.js"></script>

虽然 app.js 有以下几行:

angular.module('starter', ['ionic', 'firebase'])
.factory("Items", function($firebaseArray) {
    var itemsRef = new Firebase("https://todo-83e58.firebaseio.com/items");
    return $firebaseArray(itemsRef);
})

.controller('ListCtrl', function($scope, $ionicListDelegate, Items) {
    $scope.items = Items;


$scope.addItem = function () {
    var name = prompt("what do you need to buy?");
    if (name) {
        $scope.items.$add({"name": name});
    }
};

如果我尝试按照 Firebase 网站上的信息进行操作,并且我似乎已正确设置所有内容,我将非常感谢有关如何正确掌握基础知识的任何指示。我是否误解了身份验证,或者我应该能够在不先设置的情况下写入数据库?

【问题讨论】:

    标签: angularjs ionic-framework firebase


    【解决方案1】:

    听起来您的安全和规则不允许您访问items。请务必花一些时间阅读S&R documentation

    如果您现在只是测试应用程序并且不想关心它,只需将其设置为完全读写即可。

    在新控制台上转到数据库 > 规则。

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

    【讨论】:

    • 谢谢。我想我一定是在学习旧课程或其他东西,因为在我看来默认是完全读写的,但显然不是这样。