आप कैसे निर्धारित करते हैं कि एक आरईएसटी webservice बेसिक, केर्बेरोज, एनटीएलएम, या कई अन्य प्रमाणीकरण विधियों में से एक का उपयोग कर रहा है या नहीं?वेब http प्रमाणीकरण विधियों का निर्धारण
उत्तर
जब आप एक अप्रमाणित अनुरोध सेवा एक साथ प्रतिक्रिया करने के लिए है भेजने "HTTP/1.1 401 अनधिकृत" और प्रतिक्रिया एक WWW-Authenticate
हैडर निर्दिष्ट करता है कि क्या प्रमाणीकरण योजना की उम्मीद है (Basic
, Digest
), सुरक्षा क्षेत्र और किसी भी अन्य शामिल विशिष्ट मूल्य (जैसे कि Digets के nonce)। तो यदि सर्वर इसके साथ प्रतिक्रिया करता है:
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Digest realm="example.com",
qop="auth,auth-int",
nonce="...",
opaque="..."
यह एक डाइजेस्ट प्रमाणीकरण चाहता है। अगर प्रतिक्रिया इस तरह दिखती है:
HTTP/1.0 401 Unauthorized
WWW-Authenticate: Basic realm="example.com"
तो यह मूल प्रमाणीकरण चाहता है। कुछ (खराब) लागू सर्वर/साइट बेसिक सही तरीके से संभाल नहीं लेते हैं और पहले चुनौती देने के बजाय 403 निषिद्ध के साथ सीधे प्रतिक्रिया देते हैं।
एनटीएलएम समान है क्योंकि सर्वरके साथ एक 401 और डब्ल्यूडब्ल्यूडब्लू-प्रमाणीकरण शीर्षलेख के साथ मरम्मत करता है, लेकिन माइक्रोसॉफ्ट स्वामित्व के बाद से इसके लिए कोई आधिकारिक सार्वजनिक नमूना नहीं है। विभिन्न reverseengineered विवरण हैं।
दुर्भाग्यवश आरईएसटी प्रीटी प्रयुक्त प्रमाणीकरण योजना की खोज के लिए सेवा के डब्लूएसडीएल शैली विवरण के साथ नहीं आती है।
यदि यह एक काला बॉक्स परिदृश्य है, तो मैं आमतौर पर Fiddler से कनेक्ट करता हूं, और वास्तविक ट्रैफ़िक का निरीक्षण करता हूं।
आप इसे एक अनुरोध भेजने, शायद एक HTTP 401 कोड मिलता है, और WWW-Authenticate
हैडर कि (RFC 2616 प्रति) प्रतिक्रिया MUST
शामिल देखो। यदि इसके बजाय आपको 403 या कुछ अन्य अजीब स्थिति मिलती है, या अनुपलब्ध WWW-Authenticate
शीर्षलेख मिलता है, तो आप उन वेबसाइट लेखकों पर अभिशाप करते हैं जो मूल HTTP आरएफसी का पालन नहीं करते हैं, और यातायात को फिर से शुरू करने के लिए यातायात शुरू करने के लिए शुरू करते हैं जो उन्होंने किया है यह समय ;-)।
मेरी इच्छा है कि मैं दो वैध उत्तरों का चयन कर सकूं, मुद्दा यह था कि आरईएसटी सेवा एक डब्ल्यूडब्ल्यूडब्लू-प्रमाणीकरण हेडर नहीं लौटा रही थी इसलिए मुझे मैन्युअल रूप से कोड के साथ हेडर जोड़ना पड़ा: http://devproj20.blogspot.com/ 2008/02/असाइनिंग-मूल-प्रमाणीकरण-http.html – Seph
@ सेफ, हाँ, वेब के चारों ओर टूटी हुई साइटों की संख्या चौंकाने वाली है, है ना? इससे कोई फर्क नहीं पड़ता कि आरएफसी कितनी स्पष्ट है (और यह 'मस्ट' से ज्यादा स्पष्ट नहीं है ;-) _always_ बहुत सारे "प्रोग्रामर" (एचए!) हैं जो सोचते हैं कि वे पढ़ने के लिए बहुत खास हैं या उनका पालन करना चाहते हैं , उबाऊ दस्तावेज़ ... :-( –
- 1. सत्र निर्धारण - फॉर्म प्रमाणीकरण
- 2. HTTP प्रमाणीकरण
- 3. HTTP प्रमाणीकरण - डब्ल्यूडब्ल्यूडब्ल्यू-प्रमाणीकरण शीर्षलेख - एकाधिक क्षेत्र
- 4. HTTP मूल प्रमाणीकरण
- 5. आरईएसटी HTTP प्रमाणीकरण - कैसे?
- 6. HTTP मूल प्रमाणीकरण python
- 7. HTTP डाइजेस्ट प्रमाणीकरण
- 8. http प्रमाणीकरण कैश
- 9. एएसपी.नेट HTTP प्रमाणीकरण शीर्षलेख
- 10. jQuery HTTP प्रमाणीकरण
- 11. कस्टम HTTP प्रमाणीकरण हैडर
- 12. सशर्त HTTP मूल प्रमाणीकरण
- 13. HTTP प्रमाणीकरण iPhone
- 14. HTTP विधियों उदाहरण कहां खोजें?
- 15. जीवन के वेब एप्लिकेशन के अंत का निर्धारण कैसे करें?
- 16. Asmx वेब सेवा मूल प्रमाणीकरण
- 17. एनटीएलएम प्रमाणीकरण के लिए HTTP वेब अनुरोध के साथ HTTP शीर्षलेख भेजना
- 18. JQuery अजाक्स HTTP मूल प्रमाणीकरण
- 19. फोनगैप फ़ाइल HTTP बुनियादी प्रमाणीकरण
- 20. HttpURLConnection का उपयोग कर HTTP प्रमाणीकरण को कैसे संभालें?
- 21. गुम बुनियादी HTTP प्रमाणीकरण प्रविष्टि
- 22. एएसपी.नेट वेब एपीआई प्रश्न - प्रमाणीकरण/प्रमाणीकरण
- 23. डोजो वेब एप्लिकेशन प्रमाणीकरण
- 24. वसंत सुरक्षा HTTP मूल प्रमाणीकरण
- 25. ऑब्जेक्टिव-सी HTTP मूल प्रमाणीकरण
- 26. HTTP डायजेस्ट प्रमाणीकरण बनाम एसएसएल
- 27. वेब प्रमाणीकरण को नष्ट करना
- 28. फार्म प्रमाणीकरण 4.0 वेब फार्म
- 29. HTTP पर वेब फॉर्म प्रमाणीकरण डेटा भेजने का सबसे अच्छा तरीका क्या है?
- 30. वेब क्रॉलर http अनुरोध
मुद्दा यह था कि आरईएसटी सेवा 401 में किसी भी डब्ल्यूडब्ल्यूडब्ल्यू-प्रमाणीकरण शीर्षलेख के साथ वापस नहीं आ रही थी इसलिए मुझे मैन्युअल रूप से हेडर – Seph
निर्दिष्ट करना था, मुझे केवल हर वेबसाइट के लिए 1 पैसा चाहिए क्या वह (सही चुनौती के साथ मूल संभाल नहीं) और मैं सेवानिवृत्त हो सकता हूं ... –