【发布时间】:2021-07-06 04:15:27
【问题描述】:
我正在尝试实施 Firebase 安全规则,让用户可以访问“项目”文档。 我有一个项目集合,每个项目都有一个带有 UserID 的成员集合。 用户已通过身份验证。
我的结构如下所示:
Structure
这是我的安全规则,但它不起作用。
谁能帮我 ?我做错了什么?
//Firebase 规则
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /projects/{projectID} {
allow read, get, write: if request.auth.uid != null && exists(/databases/$(database)/documents/projects/{project}/members/$(request.auth.uid));
}
}
}
//颤振调用
Stream<List<ProjectModel>> getUserList() {
print("getUSer");
return FirebaseFirestore.instance.collection('projects').snapshots().map(
(snapShot) => snapShot.docs
.map((document) => ProjectModel(
name: document.data()['name'],
owner: document.data()['owner'],
description: document.data()['description']))
.toList());
}
【问题讨论】:
-
您的查询是什么?你认证了吗?您展示的结构似乎混合了集合和文档字段,您能更清楚哪个是集合吗?
-
感谢您的回答,我更新了我的问题。现在应该很清楚了。
-
查看我的答案的新更新..希望工作:)
标签: firebase flutter google-cloud-firestore firebase-security