खोज…


टिप्पणियों

Firebase Realtime Database Rules यह निर्धारित करता है कि आपके डेटाबेस तक पहुंच किसने पढ़ी और लिखी है, आपका डेटा कैसे संरचित है, और क्या इंडेक्स मौजूद हैं। ये नियम फायरबेस सर्वर पर रहते हैं और हर समय स्वचालित रूप से लागू होते हैं। यदि आपके नियम इसे अनुमति देते हैं तो हर पढ़ने और लिखने का अनुरोध तभी पूरा होगा। डिफ़ॉल्ट रूप से, आपके नियम केवल प्रमाणित उपयोगकर्ताओं को आपके डेटाबेस तक पूर्ण पढ़ने और लिखने की अनुमति देने के लिए निर्धारित हैं। यह आपके डेटाबेस को दुरुपयोग से बचाने के लिए है जब तक आपके पास अपने नियमों को अनुकूलित करने या प्रमाणीकरण स्थापित करने का समय नहीं है।

Firebase डेटाबेस नियम में जावास्क्रिप्ट की तरह सिंटैक्स होता है और यह चार प्रकारों में आता है:

यहाँ छवि विवरण दर्ज करें

प्राधिकरण

अपने उपयोगकर्ता की पहचान करना सुरक्षा का एक हिस्सा है। एक बार जब आप जानते हैं कि वे कौन हैं, तो आपको अपने डेटाबेस में डेटा तक उनकी पहुंच को नियंत्रित करने का एक तरीका चाहिए। फायरबेस डेटाबेस नियम आपको प्रत्येक उपयोगकर्ता के लिए पहुँच को नियंत्रित करने की अनुमति देते हैं। उदाहरण के लिए, यहां सुरक्षा नियमों का एक सेट है जो किसी को भी पथ /foo/ पढ़ने के लिए अनुमति देता है, लेकिन कोई भी इसे लिखने के लिए नहीं है:

{
  "rules": {
    "foo": {
      ".read": true,
      ".write": false
    }
  }
}

.read और .write नियम, झरना तो यह नियम-सेट अनुदान पथ पर किसी भी डेटा तक पहुँच पढ़ने / foo / साथ ही किसी भी गहरी पथ के रूप में ऐसी /foo/bar/baz । ध्यान दें कि .read और .write नियम है कि परमिट का उपयोग डेटाबेस है कि उपयोग की अनुमति नहीं है में अन्य नियमों को पार कर जाएगी; दूसरे शब्दों में सब, लागू .read और .write नियम एक साथ ored रहे हैं)। अतः /foo/bar/baz तक पहुंच को तब भी इस उदाहरण में दिया जाएगा, भले ही रास्ते में कोई नियम /foo/bar/baz मूल्यांकन असत्य से किया गया हो।

फायरबेस डेटाबेस रूल्स में बिल्ट-इन वैरिएबल और फ़ंक्शंस शामिल हैं जो आपको अन्य रास्तों, सर्वर-साइड टाइमस्टैम्प्स, ऑथेंटिकेशन इंफॉर्मेशन और बहुत कुछ को संदर्भित करने की अनुमति देते हैं। यहां एक नियम का उदाहरण दिया गया है, जो प्रमाणित उपयोगकर्ताओं के लिए /users/<uid>/ लिए पहुँच लिखता है, जहां फायरबेस प्रमाणीकरण के माध्यम से प्राप्त उपयोगकर्ता की आईडी है।

{
  "rules": {
    "users": {
      "$uid": {
        ".write": "$uid === auth.uid"
      }
    }
  }
}

डेटा मान्य

Firebase Realtime Database स्कीमालेस है। इससे आपके द्वारा विकसित की गई चीजों को बदलना आसान हो जाता है, लेकिन एक बार जब आपका ऐप वितरित करने के लिए तैयार हो जाता है, तो डेटा के लगातार बने रहने के लिए यह महत्वपूर्ण है। नियमों भाषा एक भी शामिल है .validate नियम है जो आप के लिए इस्तेमाल किया एक ही अभिव्यक्ति का उपयोग करते सत्यापन तर्क लागू करने के लिए अनुमति देता है .read और .write नियम। अंतर केवल इतना है कि सभी प्रासंगिक सत्यापन नियमों को लिखने के लिए सही होने के लिए सही मूल्यांकन करना चाहिए (दूसरे शब्दों में, सभी लागू .validate नियम एक डेटाबेस लिखने की अनुमति देने के लिए एक साथ एंडेड हैं)।

ये नियम उस डेटा को लागू करता है जिसे /foo/ को लिखा गया डेटा 100 वर्णों से कम का होना चाहिए:

{
  "rules": {
    "foo": {
      ".validate": "newData.isString() && newData.val().length < 100"
    }
  }
}

सत्यापन नियमों में सभी अंतर्निहित कार्यों और चर के रूप में .read .write है। आप इनका उपयोग सत्यापन नियम बनाने के लिए कर सकते हैं जो आपके डेटाबेस, आपके उपयोगकर्ता की पहचान, सर्वर समय और कहीं और डेटा के बारे में जानते हैं।

डेटाबेस इंडेक्स को परिभाषित करना

फायरबेस रियलटाइम डेटाबेस डेटा को ऑर्डर करने और क्वेरी करने की अनुमति देता है। छोटे डेटा आकारों के लिए, डेटाबेस तदर्थ क्वेरी का समर्थन करता है, इसलिए आमतौर पर विकास के दौरान अनुक्रमित की आवश्यकता नहीं होती है। हालांकि, अपने ऐप को लॉन्च करने से पहले, किसी भी प्रश्न के लिए अनुक्रमणिका को निर्दिष्ट करना महत्वपूर्ण है, आपको यह सुनिश्चित करना होगा कि आपके ऐप के बढ़ने पर वे काम करना जारी रखें।

इंडेक्स .indexOn नियम का उपयोग करके निर्दिष्ट किए जाते हैं। यहां एक उदाहरण सूचकांक घोषणा है जो डायनासोर की सूची के लिए ऊंचाई और लंबाई क्षेत्रों को अनुक्रमित करेगा:

{
  "rules": {
    "dinosaurs": {
      ".indexOn": ["height", "length"]
    }
  }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow