【发布时间】:2018-08-12 04:44:46
【问题描述】:
我在 Firestore 上设置了以下规则。
service cloud.firestore {
match /databases/{database}/documents {
match /items/{itemid} {
allow read, write: if request.auth.uid == resource.data.owner;
}
}
}
在我的 Angular 服务中,我正在初始化集合,如下所示:
constructor(private authService: AuthService, private fs: AngularFirestore) {
this.itemsCollection = this.fs.collection('items', cr => {
return cr.where('owner', '==', authService.currentUserId);
});
}
读取项的代码:
items() {
return this.itemsCollection.valueChanges();
}
写入项的代码:
addItem(item: ItemEntry): Observable<DocumentReference> {
item.owner = this.authService.currentUserId;
return Observable.fromPromise(this.itemsCollection.add(item));
}
read 操作正常工作,但 write 操作 (addItem) 失败并出现错误
权限缺失或不足。
想不通,为什么?
【问题讨论】:
标签: angular firebase google-cloud-firestore firebase-security