【发布时间】:2014-02-25 09:07:12
【问题描述】:
目前我一直在看FireBase,一直在使用AngularJS插件,发现下面这个问题我无法摆脱。
我目前已经实现了简单的登录系统。 注册后用我的邮箱和密码登录,我创建一个这样的帖子:
post = {
name: "Hi",
message: "Guys",
user_id: Auth.user.id // for my current user this is 1
}
posts.$add(post)
从现在开始一切都很好。 现在我想做的是在firebase的posts/端点中,我只想显示当前登录用户的帖子。
其他用户可能能够通过拥有一个公共布尔变量来阅读其他人的帖子(但那是以后的事了)
我一直在研究 Firebase 的安全 API(请参阅:https://www.firebase.com/docs/security/security-rules.html) 目前我有这个:
{
"rules": {
"posts": {
"$post": {
".read": "data.child('user_id').val() == auth.id",
".write": "(data.child('user_id').val() == auth.id) || (newData.child('user_id').val() == auth.id)"
}
}
}
}
它在一定程度上起作用,我只有登录才能写帖子,但我不能阅读任何帖子!
posts = new Firebase(base + '/posts')
posts = $firebase(posts)
错误是:FIREBASE WARNING: on() or once() for /posts failed: Error: permission_denied: Client 没有访问所需数据的权限。
如果有人有解决方案,那就太棒了!
【问题讨论】:
标签: javascript angularjs firebase firebase-security