目前正在制作笔记记录应用,我想在其中添加分享功能。我想让用户默认共享一个私有的注释给其他用户。
我是noob,所以我不太确定如何实现这一目标,但我现在想到的是以编程方式更改将从{{1}共享的笔记的读安全规则}到auth.uid == $uid
然后生成该笔记的链接供用户共享,以便每个人都可以查看。但我相信这是不可能的。
答案 0 :(得分:1)
您可以为共享笔记创建白名单。
{
"notes": {
"0": {
"text": "I like taking notes.",
"uid": "user_1"
}
},
"sharedNotes": {
"0": {
"user_1": true,
"user_2": true
}
}
}
然后,在您的规则中,您可以验证用户必须存在于/sharedNotes
中才能使读取成功。
{
"rules": {
"notes": {
"$noteId": {
".read": "data.root().child('sharedNotes').child($noteId).child(auth.uid).exists()"
}
}
}
}
让我们打破这条规则:
data.root().child('sharedNotes').child($noteId).child(auth.uid).exists()
转到root,转到/sharedNotes
路径,找到$noteId
中的注释,然后查看当前用户(auth.uid
)是否存在于白名单中。