मुझे पता है कि आईआईएस के साथ काम करने के लिए एकीकृत विंडोज प्रमाणीकरण प्राप्त करने में लोगों की हजारों रिपोर्टें हैं, लेकिन वे सभी उन वेब पेजों पर ले जाते हैं जो लागू नहीं होते हैं या समाधान जो मैंने पहले ही कोशिश किए हैं। मैंने पहले भी इस तरह की दर्जनों साइटों को तैनात किया है, इसलिए या तो सर्वर / कॉन्फ़िगरेशन के साथ कुछ विचित्र चल रहा है, या मैं इसे बहुत लंबे समय से देख रहा हूं और स्पष्ट नहीं देख रहा हूं।
सीधे शब्दों में कहें, सब कुछ मेरे स्थानीय मशीन पर पूरी तरह से काम करता है, लेकिन उत्पादन सर्वर पर अलग हो जाता है, जहां तक मैं बता सकता हूं ठीक उसी कॉन्फ़िगरेशन है ।
स्थानीय मशीन पर:
- मशीन विंडोज 7 अल्टीमेट, सर्विस पैक 1, आईआईएस 7.5 चला रही है।
- IIS और VS वेब डेवलपमेंट सर्वर दोनों का उपयोग करके साइट का सफलतापूर्वक परीक्षण किया गया है।
- IIS साइट कॉन्फ़िगरेशन में Windows प्रमाणीकरण को छोड़कर सभी प्रमाणीकरण विधियाँ अक्षम हैं ।
- स्थानीय मशीन किसी भी डोमेन पर नहीं है।
- प्रदान करने वाले प्रदाता नेगोशिएट और एनटीएलएम हैं (नॉटगॉटिएट: केर्बरोस)।
- विस्तारित सुरक्षा बंद है।
- परीक्षण किए गए सभी ब्राउज़र (IE, फ़ायरफ़ॉक्स, क्रोम) चुनौती दिखाते हैं और मुझे अपने (स्थानीय) विंडोज खाते के साथ लोकलहोस्ट डोमेन में लॉग इन करने की अनुमति देते हैं।
- परीक्षण किए गए सभी ब्राउज़र भी एक अपारदर्शी स्थानीय आईपी पते का उपयोग करके काम करते हैं - इसलिए ब्राउज़र खुद को परवाह नहीं करते हैं कि साइट "स्थानीय" या "दूरस्थ" दिखाई देती है या नहीं।
- मैंने वेब पेज पर एक डिस्प्ले लाइन जोड़ी है जो वर्तमान में लॉग-इन किए गए उपयोगकर्ता को दिखाता है और यह वही दिखाता है जो मैं उम्मीद करता हूं (जो भी स्थानीय उपयोगकर्ता मेरे साथ लॉग इन हुआ है)।
रिमोट मशीन पर:
- सर्वर Windows Server 2008 R2, IIS 7.5 चला रहा है।
- तत्काल 401.2 त्रुटि में वेब पेज परिणाम लोड हो रहा है : अमान्य प्रमाणीकरण हेडर के कारण आप इस पृष्ठ को देखने के लिए अधिकृत नहीं हैं। कोई चुनौती शीघ्र प्रकट नहीं होती है।
- IIS साइट कॉन्फ़िगरेशन में Windows प्रमाणीकरण को छोड़कर सभी प्रमाणीकरण विधियाँ अक्षम हैं ।
- रिमोट मशीन किसी भी डोमेन पर नहीं है।
- प्रदान करने वाले प्रदाता नेगोशिएट और एनटीएलएम हैं (नॉटगॉटिएट: केर्बरोस)।
- विस्तारित सुरक्षा बंद है।
- रिमोट मशीन (रिमोट डेस्कटॉप सेशन) पर, इंटरनेट एक्सप्लोरर में एक ही त्रुटि दिखाई देती है, चाहे डोमेन लोकलहोस्ट हो या बाहरी आईपी एड्रेस।
- यदि मैं अपने स्थानीय मशीन से दूरस्थ वेब साइट को देखने का प्रयास करता हूं , तो त्रुटि अभी भी 401 है, लेकिन थोड़ा अलग 401 है। पाठ के साथ कोई सबकोड नहीं: अमान्य क्रेडेंशियल के कारण प्रवेश निषेध है।
- विंडोज प्रमाणीकरण आईआईएस भूमिका सुविधा है स्थापित।
- WindowsAuthentication मॉड्यूल है (सर्वर स्तर पर) जोड़ा गया।
- अगर मैं Windows प्रमाणीकरण बंद कर देता हूं और मूल प्रमाणीकरण सक्षम कर देता हूं तो ठीक वैसी ही त्रुटि होती है।
- यदि मैं Windows प्रमाणीकरण बंद कर देता हूं और बेनामी (स्पष्ट रूप से) सक्षम करता हूं तो साइट लोड होती है ।
- मैंने पहले ही Microsoft समर्थन पर सभी समस्या निवारण चरणों का पालन किया है: IIS में HTTP 401 त्रुटियों का निवारण
- मैंने पहले ही दूसरे Microsoft समर्थन पृष्ठ पर दिखाए गए वर्कअराउंड (केवल विधि के रूप में NTLM को बाध्य करने के लिए) की कोशिश की है।
अंतिम लेकिन कम से कम, मैंने 401.2 त्रुटियों के लिए FREB को चालू करने की कोशिश की और परिणाम मुझे कुछ भी उपयोगी नहीं लगता है, मुझे लगता है कि निम्नलिखित चेतावनी है:
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName IIS वेब कोर
अधिसूचना 2
HttpStatus 401
HttpReason अनधिकृत
HttpSubStatus 2
ErrorCode
2147942405 ConfigExceptionInfo
अधिसूचना अधिसूचना AUTHENTICATE -REQUEST ErrorCode
प्रवेश निषेध है। (0x80070005)
... यह सिर्फ मुझे बता रहा है जो मुझे पहले से ही पता है (कि यह केवल क्रेडेंशियल्स पर बातचीत करने के बजाय अनुरोध को अस्वीकार कर रहा है)।
ट्रेस इंगित करता है कि WindowsAuthentication मॉड्यूल सही ढंग से लोड किया गया है क्योंकि = (और विभिन्न अन्य ASP.NET अनुवर्ती घटनाओं के NOTIFY_MODULE_START
साथ एक पंक्ति है - [un] सौभाग्य से, कोई दिलचस्प त्रुटि या चेतावनी नहीं)।ModuleName
WindowsAuthentication
क्या कोई मुझे बता सकता है कि मुझे यहां क्या याद आ रहा है?
शीघ्र नवीनीकरण:
मैं एक संपूर्ण Wireshark डंप भेजने में थोड़ा असहज हूं क्योंकि यह IP, URL और अन्य सामान को प्रकट करेगा, लेकिन मैंने लोकलहोस्ट से HTTP प्रतिक्रियाओं और फ़िडलर में रिमोट सर्वर की तुलना में एक साथ पक्षपात किया, और यह काफी स्व लगता है समस्या क्या है:
स्थानीय होस्ट:
HTTP / 1.1 401 अनधिकृत कैश-कंट्रोल: निजी सामग्री-प्रकार: पाठ / html; charset = utf-8 सर्वर: Microsoft-IIS / 7.5 WWW- प्रमाणीकरण: बातचीत WWW- प्रमाणीकरण: NTLM X-Powered-by: ASP.NET दिनांक: शनि, १: दिसंबर २०११ 23:42:34 GMT कंटेंट-लंबाई: 6399 प्रॉक्सी-सपोर्ट: सत्र-आधारित-प्रमाणीकरण
रिमोट:
HTTP / 1.1 401 अनधिकृत सामग्री-प्रकार: पाठ / html सर्वर: Microsoft-IIS / 7.5 X-Powered-by: ASP.NET दिनांक: शनि, १: दिसंबर २०११ 23:43:13 GMT कंटेंट-लेंथ: 1293
कैश-कंट्रोल जैसे कुछ प्रतीत होने वाले असंगत अंतर के अलावा, मुख्य अंतर यह है कि दूरस्थ सर्वर WWW-Authenticate हेडर को क्लाइंट को वापस नहीं भेज रहा है।
इसलिए, मुझे लगता है कि इस सवाल का जवाब नीचे दिया गया है: जब Windows प्रमाणीकरण स्थापित होने, लोड होने और विशेष रूप से सक्षम होने पर IIS WWW-Authenticate हेडर क्यों नहीं भेज रहा है?