访问数据的Angular Firebase权限错误



我正在尝试使用angular访问firebase,在我的服务中我有这个导入:

import { AngularFireDatabase , AngularFireList , AngularFireObject } from 'angularfire2/database';

我的构造函数和get数据就像这样:

employees : AngularFireList<any>; // what comes from database
Employee : AngularFireObject<any>; // model
constructor(public af:AngularFireDatabase) {
this.employees = af.list('/employees') as AngularFireList<Employee>;
}
getEmployees(){
return this.employees;
}

在我的组件中,我这样调用方法getEmployees:

ngOnInit() {
this.service.getEmployees().valueChanges().subscribe(employees => {
this.employees = employees;
console.log(this.employees);
});
}

当应用程序运行时,我的chrome控制台中出现以下错误:

ERROR Error: permission_denied at /employees: Client doesn't have permission to access the desired data. 

我可以完全访问Firebase,正如你在这里看到的:

service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
} 

您编写的规则适用于Firestore,但您的代码正在尝试访问实时数据库。。。这是实时数据库规则的链接。

要设置实时数据库规则以允许一切,请将其更改为:

{
"rules": {
".read": true,
".write": false
}
}

最新更新