我有以下数据存储在我的firebase
:
firebaseRoot
admins
simplelogin:1:
users
simplelogin:1
email: abc@xyz.com
picture: csd
provider: password
uid: simplelogin:1
simplelogin:2
email: abc1@xyz.com
picture: zsd
provider: password
uid: simplelogin:1
并遵循安全规则:
{
"rules": {
"admins": {
".read": "root.child('admins').child(auth.uid).val() === true",
".write": "root.child('admins').child(auth.uid).val() === true"
},
"users": {
"$user":{
".read": "$user === auth.id || root.child('admins').child(auth.uid).val() === true",
".write": "$user === auth.id"
}
}
}
}
我的授权要求如下。
- 管理员只能由现有管理员读取和添加。这行得通。
- 管理员可以读取所有用户,但不应写入用户数据。
- 用户可以读取和更新他自己的用户数据。
目前使用上述规则,我无法读取管理员和登录用户的用户数据。我收到以下错误消息。请提供您的帮助。谢谢。
var rootRef = new Firebase('https://xxxxx.firebaseio.com/');
var users = rootRef.child('users');
users.on('value', function(snap) {
console.log(snap.key(), snap.val());
}, function(error) {
console.log(error);
});
错误:
错误:permission_denied:客户端无权访问所需数据。