2011-09-07 20 views
7

मैं मोंगोडीबी का उपयोग अपने मुख्य डेटाबेस के रूप में करने में सोच रहा हूं। हालांकि, मेरा ऐप पूरी तरह से जावास्क्रिप्ट में है और मैं आरईएसटी एपीआई, क्लाइंट साइड का उपयोग करना चाहता था।आरईएसटी एपीआई मोंगोडीबी प्रमाणीकरण

मैं अभी भी समझ नहीं पा रहा हूं कि उपयोगकर्ताओं को सभी डेटा प्रकट किए बिना डेटाबेस में जेएस कॉल करने के लिए मैं कौन सी सुरक्षा तंत्र का उपयोग कर सकता हूं।

कृपया इस मामले पर सलाह दें।

सादर, डोनाल्ड

+0

@Brain ($ htpp सेवा के माध्यम से AngularJS का उपयोग), कैसे वह यह है कि इस सवाल से संबंधित किसी भी तरह से? AJAX अन्य सेवाओं से असीमित रूप से बात करने का एक तरीका है और मोंगोडीबी आरईएसटी इंटरफ़ेस या प्रश्न के साथ इसका कोई लेना-देना नहीं है। –

उत्तर

5

सबसे पहले, आप डेटाबेस प्रमाणन जो REST इंटरफ़ेस प्रमाणीकरण की आवश्यकता होती है, तो किसी रिमोट मशीन से से जुड़ा कर देगा सक्षम कर सकते हैं।

यह कहा गया है कि, आपके डेटाबेस को बेनकाब करने का सुझाव देना बहुत बुरा विचार है। एक सर्वर तकनीक में एक दृढ़ता अबास्ट्रक्शन परत बनाएं जिसके साथ आप सहज हैं (उदाहरण के लिए node.js) और वहां सभी सुरक्षा बाधाएं और प्रमाणीकरण डालें। फायदे कई हैं:

  • यदि आप मोंगोडीबी एक बदलता है तो भी आप अपना एपीआई स्थिर रख सकते हैं। यदि अधिकांश मामलों में आवश्यकता उत्पन्न होती है तो आप इसे एक और दृढ़ता समाधान के साथ भी बदल सकते हैं।
  • आप लोड को सीमित कर सकते हैं जो एक ग्राहक आपके डेटाबेस पर रख सकता है। यदि आप सीधे डेटाबेस का पर्दाफाश करते हैं तो आप बहुत कम काम कर रहे लोगों से बचने के लिए कर सकते हैं या यहां तक ​​कि संभावित रूप से भ्रष्ट लिखने से बच सकते हैं।
  • आप अक्सर स्मार्ट ऐप-साइड कैशिंग और ऑप्टिमाइज़ेशन कर सकते हैं जो संभव नहीं है यदि प्रत्येक ग्राहक सीधे डेटाबेस तक पहुंचता है (हालांकि यह ऐप पर थोड़ा सा निर्भर करता है)।
+0

यह असुरक्षित क्यों है? यह CouchDB से अलग कैसे है जो पहले से ही एक आरईएसटी इंटरफ़ेस के साथ आता है? – BluePython

+0

आरईएसटी इंटरफ़ेस असुरक्षित नहीं है (यद्यपि एक संभावित प्रदर्शन समस्या है) लेकिन क्लाइंट को सीधे डेटाबेस इंटरफ़ेस (रीस्टफुल या अन्यथा) का खुलासा करना लगभग हमेशा जोखिम का परिचय देता है। –

2

Sleepy.Mongoose देखें, यह मोंगोडीबी के लिए एक आरईएसटी एपीआई इंटरफ़ेस है। मैंने कोशिश नहीं की है, लेकिन ऐसा लगता है कि मानक मोंगोडीबी प्रमाणीकरण का समर्थन करता है।

+1

लोग कॉच डीबी का उपयोग करने के बजाय सभी परेशानी क्यों करते हैं या क्यों मोंगोडीबी मानक आरईएसटी एपीआई इंटरफ़ेस के साथ नहीं आता है? ऐसा करने के क्या फायदे हैं? – BluePython

1

MongoLab में एक आरईएसटी एपीआई के साथ मोंगोडीबी डेटाबेस होस्टिंग है जिसे क्लाइंट साइड तक पहुंचा जा सकता है, वे अपने समर्थन दस्तावेज में कुछ jQuery आधारित उदाहरणों के माध्यम से भी हो सकते हैं। उस ने कहा, रेमन सही है कि आप ऐसा करके किसी भी सुरक्षा का त्याग करते हैं क्योंकि आप अपनी एपीआई कुंजी सार्वजनिक कर रहे हैं।

0

RESTHeart MongoDB के लिए एक वेब एपीआई है।

यह एप्लिकेशन स्तर प्राधिकरण और प्रमाणीकरण प्रदान करता है।

security दस्तावेज़ीकरण अनुभाग देखें।

इसके अलावा कुछ उदाहरण अनुप्रयोगों GitHub पर उपलब्ध हैं:

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