2009-06-19 10 views
9

क्या कोई Win32 फ़ंक्शन है जिसे मैं Windows लॉगिन संवाद दिखाने के लिए कॉल कर सकता हूं?विंडोज क्लाइंट एप्लिकेशन के लिए लॉगिन संवाद

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

मेरे पास एक .NET Windows क्लाइंट एप्लिकेशन है जो वेब सेवाओं से संचार करते समय Windows उपयोगकर्ता पहचान में लॉग इन का उपयोग करता है। सेवाएं उस यूजर आईडी का उपयोग यह निर्धारित करने के लिए करती हैं कि कौन कॉल कर रहा है और यह तय करने के लिए कि उनके पास क्या अनुमति है।

मैं एक ऐसा आदेश जोड़ना चाहता हूं जो वर्तमान उपयोगकर्ता को प्रभावी रूप से "रन के रूप में" करने की अनुमति देता है, जहां वे किसी अन्य उपयोगकर्ता का उपयोगकर्ता नाम/पासवर्ड दर्ज कर सकते हैं और हमारे पास एप्लिकेशन कार्य उनके जैसा है।

मैं एक कस्टम संवाद बना सकता हूं और LoginUser() फ़ंक्शन का उपयोग कर सकता हूं, लेकिन मैं कुछ "आधिकारिक" का उपयोग करूंगा।

+0

मैं जानता हूँ कि वहाँ एक मानक लॉग इन संवाद के लिए एक API है, क्योंकि मुझे लगता है कि इसका इस्तेमाल अन्य एप्लिकेशन देखा है। लेकिन मुझे यह कोई भाग्य नहीं मिल रहा है। मुझे WNetVerifyPassword API फ़ंक्शन के कुछ संदर्भ मिले, लेकिन यह msdn या pinvoke.net पर प्रलेखित नहीं है। –

उत्तर

8

आप CredUIPromptForCredentials एपीआई समारोह

देखें उपयोग कर सकते हैं भी here

+0

ग्रेट खोजें। पी/invoke.net यहाँ है: http://www.pinvoke.net/default.aspx/credui/CredUIPromptForCredentialsW.html। वह प्लस लॉगऑनसर मुझे आवश्यक लॉगिन करने के लिए पर्याप्त है। धन्यवाद! –

+0

आप सिक्योरस्ट्रिंग का उपयोग करके पासवर्ड स्टोर करने और एक इंटिप्ट का उपयोग करने के लिए पिनवोक विधि पैरामीटर को बदलकर पासवर्ड को स्टोर करने के लिए सिक्योरस्ट्रिंग का उपयोग कर सकते हैं और मार्शल को सुरक्षित कर सकते हैं। सिक्योरस्टिंगटॉबस्ट्र (पासवर्डसेकरस्ट्रिंग) –

0

मुझे लगता है कि आप अपना खुद का संवाद बना रहे हैं। हालांकि इसे आधिकारिक दिखाना मुश्किल नहीं है।

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