【发布时间】:2021-01-19 09:21:05
【问题描述】:
我有一个简单的数据库结构,我想向其中添加 firebase 安全规则,但即使我在节点结构下将 .read 和 .write 的值设置为 true,这些规则也会阻止所有权限,这里是示例规则
{
"rules": {
"Lines": {
".read": true,
".write": false
},
"Links": {
".read": true,
".write": false
}
}
}
这是我的数据库结构示例
{
"Lines" : {
"Line 1" : "Lines 1238443",
"Line 2" : "Lines 4657673"
},
"Links" : {
"Links 1" : "Link 3282873",
"Links 2" : "Link 3493934"
}
}
我试图只允许读取操作,但我的应用程序一直说权限被拒绝我已经检查了它看起来直截了当的文档,但我无法确定到底发生了什么,因为即使我尝试过
{
"rules": {
"Lines": {
".read": true,
".write": true
},
"Links": {
".read": true,
".write": true
}
}
}
我仍然收到权限被拒绝错误 这是从数据库中读取的代码
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
String lin = snapshot.child("Links").child("Links 1").getValue(String.class);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
Toast.makeText(getApplicationContext(), "Error "+error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
【问题讨论】:
-
你能显示用于读取数据的代码吗?
-
我已经更新了问题,请重新检查
标签: android firebase firebase-realtime-database firebase-security