我的firebase数据如下所示。我想访问 salon-> 1 的数据我可以访问 -
databaseReference = mDatabase.child("salon").child("1").child("franchises");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
但是在这种情况下数据不安全cay body可以准备写入数据,所以我尝试添加这样的规则 -
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
}
}
}
但是当我尝试访问数据时,我现在在android中获得permission denied
。我做错了什么?
答案 0 :(得分:1)
未指定任何内容时的默认行为是不允许用户读取数据。您未在salon
上设置任何权限,因此Firebase会拒绝阅读。
要授予读取权限,您还必须指定谁可以读取salon
节点下的数据。例如,允许用户阅读所有沙龙数据:
{
"rules": {
"salon": {
".read": "auth != null"
}
},
"users": {
"$uid": {
".write": "$uid === auth.uid",
".read": "$uid === auth.uid"
}
}
}
}