के साथ काम नहीं करता है। मैं एक आईआईएस 6 सर्वर में फ़ाइल अपलोड करने के लिए WinForms एप्लिकेशन में System.Net.WebClient का उपयोग करने का प्रयास कर रहा हूं जिसमें Windows प्रमाणीकरण है, यह केवल 'प्रमाणीकरण' विधि है।System.Net.WebClient विंडोज प्रमाणीकरण
WebClient myWebClient = new WebClient();
myWebClient.Credentials = new System.Net.NetworkCredential(@"boxname\peter", "mypassword");
byte[] responseArray = myWebClient.UploadFile("http://localhost/upload.aspx", fileName);
मैं एक 'दूरस्थ सर्वर ने एक त्रुटि दिखाई: (401) अनधिकृत' मिलता है, वास्तव में यह एक 401,2
दोनों ग्राहक है और आईआईएस एक ही विंडोज सर्वर 2003 देव मशीन पर कर रहे हैं।
जब मैं फ़ायरफ़ॉक्स में पृष्ठ खोलने की कोशिश करता हूं और कोड में समान सही प्रमाण-पत्र दर्ज करता हूं, तो पृष्ठ आता है। हालांकि IE8 का उपयोग करते समय, मुझे वही 401.2 त्रुटि मिलती है।
क्रोम और ओपेरा का प्रयास किया और वे दोनों काम करते हैं।
आईई इंटरनेट विकल्पों में सक्षम 'एकीकृत विंडोज प्रमाणीकरण सक्षम करें' है।
सुरक्षा ईवेंट लॉग एक विफलता लेखा परीक्षा है:
Logon Failure:
Reason: An error occurred during logon
User Name: peter
Domain: boxname
Logon Type: 3
Logon Process: ÈùÄ
Authentication Package: NTLM
Workstation Name: boxname
Status code: 0xC000006D
Substatus code: 0x0
Caller User Name: -
Caller Domain: -
Caller Logon ID: -
Caller Process ID: -
Transited Services: -
Source Network Address: 127.0.0.1
Source Port: 1476
मैं जांच करने के लिए प्रक्रिया की निगरानी और फ़िडलर थे, लेकिन कोई लाभ नहीं हुआ।
यह तृतीय पक्ष ब्राउज़र के लिए क्यों काम करेगा, लेकिन IE या System.Net.WebClient के साथ नहीं?
बेसिक करने के लिए एकीकृत Windows से IIS में एक प्रमाणीकरण विधि बदलने के बाद यह काम करता है, लेकिन यह मेरी समस्या का समाधान नहीं करता क्योंकि मैं उत्पादन सर्वर पर कि सेटिंग नहीं बदल सकते। –
मैंने प्रक्रिया की निगरानी करने के लिए आईआईएस 'प्रमाणीकरण और एक्सेस कंट्रोल डायग्नोस्टिक्स टूल' का उपयोग किया और आईई के लिए फ़ायरफ़ॉक्स के लिए लॉग की तुलना की। एनटीएलएम चुनौती/प्रतिक्रिया विफल होने तक यह ठीक लगता है, लेकिन यह मुझे कोई संकेत नहीं देता है कि यह क्यों करता है। –
मैंने कुछ और परीक्षण किया: ऊपर वर्णित 2003 सर्वर वर्चुअल पीसी में वास्तव में एक वीएम है, मेजबान मशीन से IE का उपयोग करते समय मैं प्रमाणीकृत कर सकता हूं, लेकिन अतिथि पर IE का उपयोग नहीं कर सकता। हालांकि मेजबान फ़ाइल के माध्यम से सेटअप होस्टनाम के बजाए साइट के आईपी पते का उपयोग करते समय अतिथि के आईई कार्यों का उपयोग करते समय। यहाँ टूटी हुई बातें! मुझे खुशी है कि यह एक उत्पादन सर्वर पर नहीं है। –