【发布时间】:2018-01-29 07:23:54
【问题描述】:
我正在使用 Cloud Firestore,但我似乎无法让“IN”运算符使用安全规则。我尝试过使用数组和地图,但都不起作用。当然,当我将其设置为 allow read, write; 时,它工作正常。我做错了什么?
规则:
service cloud.firestore {
match /databases/{database}/documents {
match /rooms/{roomId=**} {
allow read, write: if request.auth.uid in resource.data.users;
allow read, write: if request.auth.uid in resource.data.users2;
allow create: if request.auth != null;
}
match /user-rooms/{userId} {
allow read, write: if userId == request.auth.uid;
}
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
allow get, create: if request.auth != null;
}
}
}
客户:
db.collection("rooms")
.document(self.room.getRoomId())
.collection("messages")
.addSnapshotListener { .....
//Room is: d6l946swspNSouANzVdZ
//Username is: eX8gkxJNDREv
【问题讨论】:
标签: firebase firebase-security google-cloud-firestore