我正在尝试实施 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());
}
答案 0 :(得分:0)
试试下面的例子:
可以读取或写入项目集合的经过身份验证的用户:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /projects/{projectID} {
allow read, write: if request.auth != null && exists(/databases/$(database)/documents/projects/{projectID}/members/$(request.auth.uid));
}
}
}