【发布时间】:2020-11-03 03:03:19
【问题描述】:
我的 firebase 设置中有一个名为 users 的集合。我有以下规则设置(允许任何人读写):
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
allow read, write: if true;
}
}
现在,当我尝试使用以下命令访问集合中的数据时:
const usersRef = db.ref("users");
usersRef.on("value", snapshot => {
const users = snapshot.val();
console.log(users);
this.setState(() => ({ loading: false, users }));
}, function(error) {
console.error('error', error);
});
我收到以下权限问题:
error 错误:permission_denied at /users:客户端没有 访问所需数据的权限。
怎么会?
【问题讨论】:
-
您显示的安全规则适用于 Cloud Firestore,而您显示的代码正在访问实时数据库。虽然这两个数据库都是 Firebase 的一部分,但它们是完全独立的,一个的安全规则不适用于另一个。要修复错误,您必须为实时数据库设置规则。有关如何执行此操作的演练,请参阅stackoverflow.com/a/52129163
标签: node.js firebase firebase-realtime-database next.js firebase-security