Firestore 安全规则 - 嵌套文档
Firestore security rules - nested documents
我想使用 firebase 安全规则限制对组数据的访问。
每个用户都有一个userId,可以在多个组中。
同一组中的所有参与者都应该能够为所有参与者更改组。
例如,应该允许用户 Wrrhks98BUSLLoGfnUswt2FE57s
对
用户 2B0ABrxKXzr9UdmCP8TuMgqrtBI3
的组文档 -JrwbcP1OdmjUWxTWHJk
一般结构:
collection (groups)
--> Document (userId)
--> Collection (userId)
--> Document(groupId)
示例:
collection (groups)
--> Document (2B0ABrxKXzr9UdmCP8TuMgqrtBI3)
--> Collection (2B0ABrxKXzr9UdmCP8TuMgqrtBI3)
--> Document(-JrwbcP1OdmjUWxTWHJk)
--> Document(-Mrwtjko3dmjUWxTWHJl)
--> Document(-LrwbcPtujdqcWxTWHJe)
--> Document (Wrrhks98BUSLLoGfnUswt2FE57s)
--> Collection (Wrrhks98BUSLLoGfnUswt2FE57s)
--> Document(-JrwbcP1OdmjUWxTWHJk)
我试过了,但没用:
match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/groupId)
}
我找到了解决方案:-)
就是这样:
match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/$(resource.data.id))
}
我想使用 firebase 安全规则限制对组数据的访问。
每个用户都有一个userId,可以在多个组中。
同一组中的所有参与者都应该能够为所有参与者更改组。
例如,应该允许用户 Wrrhks98BUSLLoGfnUswt2FE57s
对
用户 2B0ABrxKXzr9UdmCP8TuMgqrtBI3
-JrwbcP1OdmjUWxTWHJk
一般结构:
collection (groups)
--> Document (userId)
--> Collection (userId)
--> Document(groupId)
示例:
collection (groups)
--> Document (2B0ABrxKXzr9UdmCP8TuMgqrtBI3)
--> Collection (2B0ABrxKXzr9UdmCP8TuMgqrtBI3)
--> Document(-JrwbcP1OdmjUWxTWHJk)
--> Document(-Mrwtjko3dmjUWxTWHJl)
--> Document(-LrwbcPtujdqcWxTWHJe)
--> Document (Wrrhks98BUSLLoGfnUswt2FE57s)
--> Collection (Wrrhks98BUSLLoGfnUswt2FE57s)
--> Document(-JrwbcP1OdmjUWxTWHJk)
我试过了,但没用:
match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/groupId)
}
我找到了解决方案:-)
就是这样:
match /groups/{userId}/{userId2}/{groupId} {
allow read, write: if exists(/databases/$(database)/documents/groups/$(request.auth.uid)/$(request.auth.uid)/$(resource.data.id))
}