【发布时间】:2019-08-17 02:07:35
【问题描述】:
我有一个 Firestore 数据库,其结构如下:
collection (teachers): {
doc (id): {
name: name
lastName: lastName
collection (classes): {
doc (id): {
name: math
}
}
}
}
我想要实现的是校长能够获得teacher 的名字并为同一位老师添加/创建一些课程。问题在于添加 Firestore 规则。我已经尝试了这三种规则的可能性,但没有一个按预期工作。我能读,但不能写。
1
service cloud.firestore {
match /databases/{database}/documents {
match /teachers/{teacher} {
allow get if true;
allow create if true;
}
}
}
2
service cloud.firestore {
match /databases/{database}/documents {
match /teachers/{teacher} {
allow get if true;
}
match /teachers/{teacher}/classes/{class} {
allow create if true;
}
}
3
service cloud.firestore {
match /databases/{database}/documents {
match /teachers/{teacher} {
allow get if true;
match /classes/{class} {
allow create if true;
}
}
}
顺便说一下,我正在使用 angularfirestore2。
【问题讨论】:
-
您如何识别用户是“校长”?所有用户都是“校长”吗? “非校长”用户能做什么?目前还不是 100% 清楚您要实施哪些访问权限。
-
我可以识别校长,我不能做的是设置权限,一旦设置了老师,根据我提到的路径写入更深的文档。感谢您的回复。
标签: firebase security google-cloud-firestore firebase-security