像这样的Firebase安全规则?
我有一个收藏,比如说它叫房间。 在文件室中,我有它的名称,它的散列密码,“members”,子集合,看起来像这样:像这样的Firebase安全规则?,firebase,google-cloud-firestore,firebase-authentication,firebase-security,Firebase,Google Cloud Firestore,Firebase Authentication,Firebase Security,我有一个收藏,比如说它叫房间。 在文件室中,我有它的名称,它的散列密码,“members”,子集合,看起来像这样: rooms: { room1Uid: { name: "room name", password: "hashed password", members: { member1Uid: { joindate: "timestamp"}, member2Uid: { joindate: "timestamp"}, ...
rooms: {
room1Uid: {
name: "room name",
password: "hashed password",
members: {
member1Uid: { joindate: "timestamp"},
member2Uid: { joindate: "timestamp"},
...
},
resource1: {
something: "...",
},
resource2: {
something: "...",
}
},
room2Uid: {...}
}
我希望只有经过身份验证的用户才能读写包含在成员列表中的roomUid下的任何内容
因此,例如request.auth.uid==member1Uid可以从room1Uid下读取resource1
使用下面给出的示例代码
试试这个,让我知道,它是否工作它是实时数据库吗?它是FireStore您使用的是哪种身份验证方法?(电子邮件和密码,匿名…)使用电子邮件和密码()登录以进行用户身份验证。但我想筛选可以访问文件室资源的用户。请检查答案
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /rooms/room1Uid/{document=**} {
allow read, write: if exists(/databases/$(database)/documents/rooms/room1Uid/members/$(request.auth.uid))
}
}
}