5

मैं एक फायरबेस डाटाबेस स्थापित करने की कोशिश कर रहा हूं जो केवल मैं लिख सकता हूं। तो किसी भी उपयोगकर्ता को कुछ भी लिखने की अनुमति नहीं होगी। लेकिन हर कोई इसे पढ़ने में सक्षम होगा।केवल एक व्यवस्थापक उपयोगकर्ता को फ़ायरबेस डेटाबेस लिखने की अनुमति कैसे दें?

हालांकि, मैं इसके लिए नियम स्थापित नहीं कर सका। मेरे पास एक व्यवस्थापक उपयोगकर्ता है जिसे मैंने ईमेल/पासवर्ड लॉगिन का उपयोग करके बनाया है, और मैं इसकी यूआईडी जानता हूं। मान लें कि मेरा यूआईडी है: dJrGShfgfd2

मैंने इन दो तरीकों की कोशिश की, लेकिन उन्होंने मुझे डेटाबेस में लिखने की अनुमति नहीं दी।

{ 
    "rules": { 
    "events": { 
     ".read": true, 
     ".write": "auth.uid === 'dJrGShfgfd2'" 
    } 
    } 
} 

{ 
    "rules": { 
    "users": { 
     "$user_id": { 
     ".read" : true, 
     ".write": "$user_id === 'dJrGShfgfd2'" 
     } 
    } 
    } 
} 

तो मैं डेटाबेस में कुछ भी लिखने के लिए एक विशिष्ट यूआईडी के साथ केवल एक उपयोगकर्ता को अनुमति कैसे दूं?

+0

पहले स्निपेट में नियम ठीक होना चाहिए। उन्हें व्यवस्थापक के लिए 'ईवेंट' पथ पर लेखन पहुंच देना चाहिए और दूसरों के लिए पहुंच पढ़ना चाहिए। – cartant

+0

प्रतीक्षा करें मेरे पास मेरे डेटाबेस में ईवेंट पथ या कुछ नहीं है। मैं लिखने के नियमों को परिभाषित कैसे करूं जो हर जगह लागू होते हैं? – yigitserin

+0

आपके नियम पदानुक्रम में आपके पास 'ईवेंट' हैं। यदि डेटाबेस में ऐसी कोई कुंजी नहीं है, तो इसे हटाएं और 'नियम 'के अंतर्गत' .read' और '.write' को ऊपर ले जाएं। – cartant

उत्तर

6

यह काम करना चाहिए:

दुनिया में
{ 
    "rules": { 
    ".read": true, 
    ".write": "auth.uid === 'dJrGShfgfd2'" 
    } 
} 

हर कोई डेटा को पढ़ने में सक्षम हो जाएगा, लेकिन यूआईडी dJrGShfgfd2 (और processes with administrative access) के साथ ही उपयोगकर्ता डेटा लिख ​​सकते हैं।

+0

क्या आप इसे पूरी तरह से क्लाइंट साइड पर कर सकते हैं, जिसका अर्थ है कि आप बैकएंड किए बिना सदस्यों के सदस्य बनाम सिस्टम का भुगतान कर सकते हैं। मैं उस बारे में कैसे जाउंगा यदि उपयोगकर्ता भुगतान करता है तो वे सदस्य बन जाते हैं। –

+0

आप जो कर सकते हैं वह सर्वर पर एक चर के लिए जांचना है जो कह रहा है कि उन्होंने पहले ही भुगतान किया है। इसके बाद, आप यह जांचने के लिए अनुमतियों पर नियम जोड़ सकते हैं कि यह वैरिएबल 'सत्य' है जिसका मतलब है कि उपयोगकर्ता ने भुगतान किया है या 'झूठा' कहने का अर्थ है कि उपयोगकर्ता ने – CraftedGaming

+0

का भुगतान नहीं किया है, मैं इसे ईमेल के साथ कैसे कर सकता हूं एक यूआईडी? – Tomer

संबंधित मुद्दे

 संबंधित मुद्दे