QGIS से PostGIS प्रमाणीकरण प्रक्रिया को सरल बनाएं


9

QGIS में, मेरे पास विभिन्न (~ 15) पोस्टगिस डेटाबेस के डेटा के साथ एक परियोजना है, जिसमें नीचे दिखाए गए प्रत्येक कनेक्शन के लिए कोई लॉगिन क्रेडेंशियल (प्रमाणीकरण उपयोगकर्ता / pwd) संग्रहीत नहीं है।

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

अब जब कोई अन्य उपयोगकर्ता परियोजना को खोलता है, तो उसे (या उसे) इस्तेमाल किए गए EACH डेटाबेस के लिए क्रेडेंशियल दर्ज करना होगा:

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

मुझे दृढ़ता से डर है कि वैध रूप से मेरा कोई भी उपयोगकर्ता 15 बार अपने (या उसके) क्रेडेंशियल में प्रवेश करने को स्वीकार नहीं करने वाला है (लेकिन संभावित रूप से 100s उपयोगकर्ताओं के साथ एक उद्यम वातावरण में, स्वीकृति सफलता के लिए महत्वपूर्ण है)।

तो मेरे लिए दो सवाल उठते हैं:

  • वैश्विक प्रोजेक्ट चर के अनुसार उपयोगकर्ता नाम सुझाने का एक तरीका है user_account_nameऔर
  • क्या QGIS को किसी अन्य कनेक्शन के लिए पहले db कनेक्शन के लिए दर्ज किए गए क्रेडेंशियल्स का उपयोग करने के लिए कहने का एक तरीका है?

मैं अनुमान नहीं लगा सकता कि क्या नीचे दिए गए प्रस्ताव के अनुसार 'एंटर क्रेडेंशियल्स' संवाद को संशोधित करना एक बड़ी बात होगी, लेकिन क्या यह संभव है?

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


इसलिए केवल "क्षेत्र" बदल रहा है जबकि अन्य सभी चर समान हैं?
लाफू

हां, असली के भीतर केवल 'dbname' बदल रहा है। यह सब एक ही सर्वर पर है।
जोचेन श्वार्ज़े

5
PostGIS स्थानिक विस्तार है। आपके पास एक दर्जन से अधिक PostgreSQL डेटाबेस हैं। हालांकि आप एक साथ कीचड़ उछालने में सक्षम हो सकते हैं, आपको वास्तव में एक बड़ा डेटाबेस होना चाहिए । तीन से अधिक से कनेक्ट करना केवल खराब एप्लिकेशन / डेटाबेस डिज़ाइन है।
विंस

3
बहुत भारी ... क्षमा करें कि मेरा अंग्रेजी यह स्पष्ट करने के लिए पर्याप्त नहीं है कि मेरा प्रश्न एप्लिकेशन / डेटाबेस डिज़ाइन के बारे में नहीं है। और वैसे, मैंने सोचा था कि PostGIS का अर्थ है PostgreSQL, और यह कि QGIS में हम PostGIS कनेक्शन स्थापित करते हैं (ऊपर cp। स्क्रीनशॉट)। हालांकि कुछ लोग यह कहते हैं कि विभिन्न डेटाबेस में अलग-अलग सामग्री वितरित करना अच्छा है जहाँ संभव हो, कृपया मुझे वहाँ से भाग लेने दें जहाँ आप जानते हैं कि तीन से अधिक डेटाबेस से कनेक्ट करना खराब एप्लीकेशन डिज़ाइन है? कृपया, कृपया संबंधित साहित्य संदर्भ प्रदान करें! और क्यों तीन ?!
जोचन श्वार्ज़े

1
मैं आपको साहित्य की ओर इशारा नहीं कर सकता, लेकिन एक ही समाधान एक ही डेटाबेस में अलग स्कीमा का उपयोग कर सकता है।
Bugmenot123

जवाबों:


7

QGIS में एक अंतर्निहित प्रमाणीकरण प्रणाली है । सीधे शब्दों में कहें तो आपके पास अपने सभी क्रेडेंशियल्स के साथ एक संरक्षित डेटाबेस है qgis-auth.db, जो एक फ़ाइल में संग्रहीत है , जिसे आप किसी और को भेज सकते हैं, जो एक मास्टर पासवर्ड जानता है:

 .ggis फ़ोल्डर

जब आप कुछ नए पोस्टजीआईएस कनेक्शन बनाते हैं, तो अपना लॉगिन / पासवर्ड टाइप करने के बजाय आप इसे चुन सकते हैं qgis-auth.db(प्रत्येक लॉगिन / पासवर्ड जोड़ी में एक उपयोगकर्ता के अनुकूल नाम है)।

प्रमाणीकरण प्रणाली के साथ QGIS में PostGIS कनेक्शन सेट करें

एक उदाहरण के रूप में, मेरे पास एक QGIS प्रोजेक्ट है जिसमें कई परतें हैं। प्रत्येक परत एक दूरस्थ PostGIS डेटाबेस से एक कनेक्शन है। प्रत्येक डेटाबेस का अपना उपयोगकर्ता होता है। जब मैं इस परियोजना को खोलता हूं, तो मुझे एक बार एक मास्टर पासवर्ड प्रिंट करना होगा, और सभी परतें (डीबी कनेक्शन) काम करना शुरू कर देंगी।

मैं अपनी qgis-auth.dbफ़ाइल प्रदान करते हुए अपने सहयोगी को यह प्रोजेक्ट भेज सकता हूं । पहले से मैं कुछ क्रेडेंशियल्स हटा सकता हूं जिन्हें मैं इस फाइल से साझा नहीं करना चाहता।

मेरे सहकर्मी द्वारा qgis-auth.dbउसके .qgisफ़ोल्डर में डालने के बाद (वह पहले अपनी फ़ाइल का बैकअप बना सकता है), वह प्रोजेक्ट खोलता है, मास्टर पासवर्ड दर्ज करता है और सब कुछ काम करता है।

आप प्रति सत्र एक बार एक मास्टर पासवर्ड दर्ज करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.