संभव डुप्लिकेट:
How to encrypt connection string in WinForms 1.1 app.config?हासिल connectionstring
तैनात WinForms अनुप्रयोगों के लिए एक app.config फ़ाइल में connectionstring जानकारी हासिल करने के लिए सबसे अच्छा तरीका क्या है?
संभव डुप्लिकेट:
How to encrypt connection string in WinForms 1.1 app.config?हासिल connectionstring
तैनात WinForms अनुप्रयोगों के लिए एक app.config फ़ाइल में connectionstring जानकारी हासिल करने के लिए सबसे अच्छा तरीका क्या है?
सबसे सुरक्षित तरीका (विंडोज ग्राहकों और एक समर्थित डेटाबेस सर्वर कल्पना करते हुए) integrated authentication उपयोग करने के लिए, और सब पर कनेक्शन तार के साथ पासवर्ड वितरण से बचने के है।
Data Source=servername;Initial Catalog=dbname;Integrated Security=SSPI;
प्रत्येक उपयोगकर्ता को डेटाबेस सर्वर तक पहुंच की आवश्यकता होगी। मुझे यह करने का सबसे आसान तरीका मिल गया है सक्रिय निर्देशिका समूहों के साथ - समूह को डेटाबेस सर्वर पर उचित पहुंच प्रदान करें, और आवश्यकतानुसार उस समूह के उपयोगकर्ताओं को जोड़ें और हटा दें।
मैन्युअल रूप से या एंटीलिब के साथ वितरित कॉन्फ़िगरेशन टूल का उपयोग करके इसे एन्क्रिप्ट करें।
संपादित करें: जाहिर है, के रूप में अन्य लोगों ने कहा, एकीकृत सुरक्षा का उपयोग अपने सबसे अच्छे शर्त है, लेकिन मैं समझता हूँ कि कई बार देखते हैं कि है कि यह एक विकल्प नहीं है।
इन मामलों में, आपको थोड़ा अतिरिक्त काम करने की आवश्यकता होगी। मैंने इसे पहले किया है और यह जानता है कि यह काम करता है। मैं उन लेखों से लिंक करूंगा जो चुनौतियों का वर्णन करते हैं और आखिरकार विंडोज अनुप्रयोगों के साथ ऐसा करने के लिए कामकाजी समाधान।
चेतावनी: इस लिंक पर क्लिक करने से पहले कुछ धूप का चश्मा डालें।
http://guy.dotnet-expertise.com/PermaLink,guid,b3850894-3a8e-4b0a-aa52-5fa1d1216377.aspx
यह वास्तव में कैसे आप किसी को कनेक्शन स्ट्रिंग में प्राप्त करने की उम्मीद पर निर्भर करता है। यदि आप केवल अपने ऐप के उपयोगकर्ताओं (जो डेवलपर्स नहीं हैं) के बारे में चिंतित हैं तो कनेक्शन स्ट्रिंग को एन्क्रिप्ट करें और एन्क्रिप्टेड स्ट्रिंग को अपने ऐप में स्थिर रखें। एन्क्रिप्टेड स्ट्रिंग को निरंतर के लिए उपयोग करने के लिए रनटाइम पर कुंजी का उपयोग करें और फिर इसे तैनात करने से पहले अपने कोड को खराब करें। क्या यह मूर्ख प्रमाण है? बेशक नहीं, लेकिन यह शायद 99.9% लोगों को आपकी कनेक्शन स्ट्रिंग प्राप्त करने से रोक देगा। उन्हें आपके कोड को अलग करना होगा और पहले एन्क्रिप्टेड स्ट्रिंग प्राप्त करना होगा और फिर उन्हें कुंजी तक पहुंच प्राप्त करनी होगी। यदि आप डेवलपर्स के बारे में चिंतित हैं तो उपरोक्त समाधान तब तक काम करेगा जब तक उनके पास उत्पादन में स्रोत कोड तक पहुंच न हो और संभावित रूप से कनेक्शन स्ट्रिंग को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी। निश्चित रूप से किसी को कनेक्शन जानकारी डालनी है, लेकिन केवल उस व्यक्ति को उस तक पहुंच प्रदान करें। उम्मीद है की यह मदद करेगा।
मैं अपने वेब ऐप्स के लिए इस विधि का उपयोग करता हूं, लेकिन कनेक्शन स्ट्रिंग को एन्क्रिप्ट करने से कैसे एक तैनात विंडोज ऐप के साथ काम करता है। कनेक्शनस्ट्रिंग को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली कीफाइल को कनेक्शनस्ट्रिंग को डिक्रिप्ट करने के लिए एप्लिकेशन के साथ तैनात करने की आवश्यकता होगी। जिसका मतलब है कि कोई इसे डिक्रिप्ट कर सकता है? –
@ ब्रूस - तैनात करके, आप जंगली में बड़े पैमाने पर मतलब है? –
हां। एक एसक्यूएल डेटाबेस के साथ एक ऐप कहो। –