【问题标题】:Firebase + Angular - rules .read != null, still can view $firebaseArray without auth.Firebase + Angular - 规则 .read != null,仍然可以在没有身份验证的情况下查看 $firebaseArray。
【发布时间】:2015-08-21 12:54:51
【问题描述】:

这应该很简单,但是……无论如何!

我有一个使用 firebase 的小角度应用程序。

在我的 Firebase 规则中,我有

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}  

因此不应允许访问数据。 现在在我的 Angular 应用程序中,我有一个控制器尝试加载数据

.controller('loginCtrl', function ($firebaseArray, $scope) {
    var ref = new Firebase('https://<url>.firebaseio.com/child');
    var list = $firebaseArray(ref);

    list.$loaded().then(function() {
        console.log(list)//this shows all the data and shouldnt!!!
    }, function(){
        console.log('no list found')
    });
});

现在根据我阅读的所有内容,我上面的规则是正确的。 我有什么明显的遗漏吗?我已经搜索了一个找不到答案。在我发疯之前,感谢任何帮助。

最好的。

【问题讨论】:

  • 我很快将".read": "auth != null" 添加到我自己的一个测试应用程序中,之后我立即没有收到任何数据(和正确的错误消息)。你还有其他步骤吗?否则我将很难重现该问题。 `
  • 嗨弗兰克,问题似乎已经解决了。我不知道为什么它现在有效。是传播的东西吗?应该是即时的。也许我缓存了一些东西。掌握 Firebase ATM。无论如何,非常感谢您提供帮助。周五愉快。
  • 感谢 Ant,很高兴听到它现在可以工作了。基于此,我投票结束。

标签: angularjs security firebase rules


【解决方案1】:

尝试在子级别设置规则。

{
    "rules": {
        "child": {
            ".read": "auth != null",
            ".write": "auth != null"
        }
    }
}

【讨论】:

  • 感谢您的回复,我设法让上面的示例最终运行。
猜你喜欢
  • 1970-01-01
  • 2021-09-25
  • 2019-10-16
  • 2021-04-08
  • 2020-09-28
  • 2021-07-14
  • 2020-01-10
  • 2019-06-02
  • 2018-07-23
相关资源
最近更新 更多