वहाँ "समूह" Firebase में लिए स्पष्ट समर्थन नहीं है, क्योंकि आप उन्हें अपने आप को काफी आसानी से प्रतिनिधित्व कर सकते हैं। आपकी स्थिति के आधार पर, यहां दो विकल्प दिए गए हैं।
फायरबेस में समूह की जानकारी संग्रहीत करना।
निम्नलिखित डेटा 2 समूहों ('अल्फा' और 'बीटा') और सुरक्षित डेटा के 3 टुकड़े ('thing1', 'thing2', और 'thing3')
{
"groups": {
"alpha": {
"joe": true,
"sally": true
},
"beta": {
"joe": true,
"fred": true
}
},
"data": {
"thing1": {
"group": "alpha"
/* data accessible only by the "alpha" group */
},
"thing2": {
"group": "beta"
/* data accessible only by the "beta" group */
},
"thing3": {
"group": "alpha"
/* more data accessible by the "alpha" group */
}
}
}
प्रतिनिधित्व करने के लिए इस्तेमाल किया जा सकता फिर हम निम्नलिखित नियमों का उपयोग सुरक्षा लागू करने के लिए कर सकते हैं: तो फिर
{
"rules": {
"data": {
"$thing": {
".read": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)",
".write": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)"
}
}
}
}
अगर मैं {आईडी: 'सैली'} के साथ प्रमाणीकृत कर रहा हूँ मेरी प्रमाणन वस्तु के रूप में, मैं thing1 और thing3 का लाभ उठा सकेंगे, लेकिन नहीं thing2।
ऑथ टोकन में समूह की जानकारी संग्रहीत करना।
यदि आप अपना खुद का ऑथ टोकन बना रहे हैं और आप जानते हैं कि उपयोगकर्ता उस समय के समूह में कौन सा समूह है, तो आप अपने द्वारा उत्पन्न ऑथ टोकन में समूहों की सूची संग्रहीत कर सकते हैं। उदाहरण के लिए, जब आप उपयोगकर्ता 'fred' के लिए ऑथ टोकन उत्पन्न करते हैं, तो "{id: 'fred', समूह: {alpha: true, beta: true}}"
और फिर आप समूह सदस्यता को निम्न के साथ लागू कर सकते हैं:
{
"rules": {
"data": {
"$thing": {
".read": "auth[data.child('group').val()] != null",
".write": "auth[data.child('group').val()] != null"
}
}
}
}
माइकल, आपकी तेज प्रतिक्रिया के लिए धन्यवाद, पहला विकल्प वह था जिसे हम ढूंढ रहे थे। – user1452215
यदि आप डेटा तक पहुंच प्रदान करना चाहते हैं तो क्या होगा। एकाधिक समूहों के लिए $ चीज़ (केवल एक के बजाय)? क्या कुछ है। HasAnyChild() या इसी तरह? – Pl4yeR
पहला JSON ऑब्जेक्ट कहां जाता है? यह समूह, अल्फा, बीटा आदि को परिभाषित करता है? मुझे नहीं लगता कि आप इसे वास्तविक नियम सुरक्षा वस्तु में डाल सकते हैं ... जब तक कि मुझे कुछ याद नहीं आ रहा है? – Matt