4
我試圖找出一種方法來模擬Firebase中的以下數據,但我不確定它是否可行。Firebase中的受保護內容可能嗎?
說我有一個帖子列表。其中一些我想標記爲私人的,其中作者指定他們的朋友列表的成員可以查看它。這是否可能,如果是這樣的話,可以不分別定義帖子和私人帖子。
我試圖找出一種方法來模擬Firebase中的以下數據,但我不確定它是否可行。Firebase中的受保護內容可能嗎?
說我有一個帖子列表。其中一些我想標記爲私人的,其中作者指定他們的朋友列表的成員可以查看它。這是否可能,如果是這樣的話,可以不分別定義帖子和私人帖子。
您可以指定使用security rules可以讀取和寫入哪些文章。舉例來說,如果我有這樣的數據集:
{
"users": {
"me": {
"friends" { "jack", "mary" }
},
},
"posts": {
"post1": {
"owner": "me",
...
}
}
}
我可以使用安全規則如下所示:
{
"posts": {
"$post_id": {
// any friend can read my post
".read": "auth.uid === data.child('owner').val() || root.child('users/'+data.child.owner.val()+'/friends/'+auth.uid).exists()",
// only I can write it
".write": "auth.uid === data.child('owner').val()"
}
}
}
請記住,但是,安全規則不能被用作過濾。您無法迭代帖子列表,只希望找回朋友可以看到的列表 - 如果它遇到列表中不可讀的項目,則該操作將無法返回結果。
因此,朋友可以查詢他可以看到的帖子嗎?並將實時工作來獲得這些帖子? – Georg
這條規則適用於新數據嗎?當我們第一次插入? – BruceStackOverFlow
不,不適用於創建新條目。 – Kato