【发布时间】:2018-07-17 15:38:02
【问题描述】:
每当新用户注册我的应用时,我的 Firestore 数据库都会创建一个新集合。集合的名称是新用户的用户名。我想让这个集合中的文档具有受限的写访问权限。
service cloud.firestore {
match /databases/{database}/documents {
match /User1/{info} {
allow read: if signedIn();
allow write: if isOwner(User1);
}
function signedIn() {
return request.auth != null;
}
function isOwner(userId) {
return request.auth.uid == userId;
}
}
}
如果当前用户是User1,则此方法有效,但不适用于任何注册的新用户。如何将此 Firestore 安全规则添加到每个新用户?
【问题讨论】:
-
每个用户都有一个集合可能不是一个好主意。考虑改为使用每个用户使用他们的 uid 的文档,然后根据需要在其下使用子集合。
-
唯一的问题是我正在为我的应用程序使用 Flutter,我无法弄清楚如何访问 Flutter 中的子集合。
-
您应该能够使用 DocumentReference 上的某些方法访问子集合,可能称为 collection()。
标签: firebase google-cloud-firestore firebase-security