मोंगो जावा ट्यूटोरियल से
MongoDB को एक सुरक्षित मोड में चलाया जा सकता है जहां डेटाबेस तक पहुंच को नाम और पासवर्ड प्रमाणीकरण के माध्यम से नियंत्रित किया जाता है। जब इस मोड में चलाया जाता है, तो किसी भी क्लाइंट एप्लिकेशन को कोई भी ऑपरेशन करने से पहले एक नाम और पासवर्ड प्रदान करना होगा। जावा ड्राइवर में, आप कनेक्टेड मोंगो ऑब्जेक्ट के साथ बस निम्न कार्य करते हैं:
boolean auth = db.authenticate(myUserName, myPassword);
यदि नाम और पासवर्ड डेटाबेस के लिए मान्य हैं, तो प्रमाणीकरण सत्य होगा। नहीं तो यह झूठ होगा। यदि उपलब्ध हो तो अधिक जानकारी के लिए आपको MongoDB लॉग देखना चाहिए।
अधिकांश उपयोगकर्ता विश्वसनीय वातावरण में प्रमाणीकरण के बिना MongoDB चलाते हैं।
प्रमाणीकरण और सुरक्षा को कॉन्फ़िगर करना
प्रमाणीकरण प्रत्येक डेटाबेस के system.users संग्रह में संग्रहीत किया जाता है। उदाहरण के लिए, डेटाबेस प्रोजेक्टx पर, projectx.system.users में उपयोगकर्ता जानकारी होगी।
हमें पहले संपूर्ण db सर्वर प्रक्रिया के लिए एक व्यवस्थापक उपयोगकर्ता को कॉन्फ़िगर करना चाहिए। यह उपयोगकर्ता विशेष व्यवस्थापक डेटाबेस के अंतर्गत संग्रहीत है।
यदि admin.system.users में कोई उपयोगकर्ता कॉन्फ़िगर नहीं किया गया है, तो कोई बिना प्रमाणीकरण के लोकलहोस्ट इंटरफ़ेस से डेटाबेस तक पहुंच सकता है। इस प्रकार, डेटाबेस चलाने वाले सर्वर से (और इस प्रकार लोकलहोस्ट पर), डेटाबेस शेल चलाएँ और एक प्रशासनिक उपयोगकर्ता को कॉन्फ़िगर करें:
$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")
अब हमारे पास डेटाबेस व्यवस्थापक के लिए एक उपयोगकर्ता बनाया गया है। ध्यान दें कि यदि हमने पहले प्रमाणित नहीं किया है, तो अब हमें आगे के संचालन करने की इच्छा होनी चाहिए, क्योंकि admin.system.users में एक उपयोगकर्ता है।
> db.auth("theadmin", "anadminpassword")
हम डेटाबेस के लिए मौजूदा उपयोगकर्ताओं को कमांड के साथ देख सकते हैं:
> db.system.users.find()
अब, किसी अन्य डेटाबेस के लिए "नियमित" उपयोगकर्ता को कॉन्फ़िगर करें।
> use projectx
> db.addUser("joe", "passwordForJoe")
अंत में, चलिए एक केवल पढ़ने योग्य उपयोगकर्ता जोड़ते हैं। (केवल 1.3.2+ में समर्थित)
> use projectx
> db.addUser("guest", "passwordForGuest", true)