2010-11-29 16 views
19

HTTP प्रमाणीकरण गुम होने के लिए स्थिति 401 Unauthorized को परिभाषित करता है, लेकिन यह स्थिति केवल HTTP प्रमाणीकरण पर लागू होती है। जब एक अनधिकृत अनुरोध होता है, तो सत्र कुकी आधारित प्रणाली के साथ मुझे किस स्थिति में वापस जाना चाहिए?अनुपलब्ध प्रमाणीकरण के लिए HTTP स्थिति कोड

उत्तर

24

औपचारिक रूप से, 403 निषिद्ध सही प्रतिक्रिया है। इसे

प्राधिकरण सहायता नहीं करेगा और अनुरोध दोहराया नहीं जाना चाहिए।

भ्रामक हिस्सा हो सकता है "प्राधिकरण में मदद मिलेगी नहीं" है, लेकिन वे वास्तव में मतलब है "HTTP प्रमाणीकरण" (WWW-प्रमाणित)

+3

इसका मतलब है कि उपयोगकर्ता को फिर से अनुरोध का प्रयास नहीं करना चाहिए। यह उचित नहीं। –

+2

तकनीकी रूप से, मेरा मानना ​​है कि आप सही हैं। व्यावहारिक कार्यान्वयन के मामले में, मेरा मानना ​​है कि 200 एचटीएमएल आधारित त्रुटि संदेश या 302 दूसरे पृष्ठ पर रीडायरेक्ट कर रहा है जहां सत्र आधारित लॉगिन हो सकता है और अधिक आम है (और शायद तर्कसंगत रूप से अधिक उपयोगी)। – userx

+6

@ एरिक फिलिप्स - यह सही है, अनुरोध नहीं होना चाहिए। एक बार अनुरोध के शीर्षलेख सही सत्र कुकी (इसलिए एक ही अनुरोध नहीं) के लिए बदल दिए जाते हैं, तो पहुंच प्रदान की जाएगी। – userx

5

403 मेरा मानना ​​है कि तकनीकी रूप से सही है (और शायद सबसे प्रभावी अगर आप कार्यान्वित कर रहे हैं एक कस्टम एपीआई/प्रोटोकॉल)।

401 उचित नहीं है क्योंकि यह डब्ल्यूडब्ल्यूडब्ल्यू-प्रमाणीकरण शीर्षलेख के साथ प्राधिकरण को संदर्भित करता है, जो एक सत्र कुकी नहीं है।

यदि यह एक सार्वजनिक सामना करने वाली वेबसाइट है जहां आप सत्र कुकी के आधार पर पहुंच से इनकार करने का प्रयास कर रहे हैं, तो 200 उचित बटन के साथ यह इंगित करने के लिए कि लॉग इन की आवश्यकता है या पेज में लॉग इन करने के लिए 302 अस्थायी रीडायरेक्ट अक्सर होता है।

+0

यह वास्तव में एक कुकी-आधारित HTTP प्रमाणीकरण योजना को परिभाषित करने योग्य होगा। –

+0

@ जुलिएयन रेस्केके ​​- अच्छी तरह से कुकीज़ परिभाषा के अनुसार प्रमाणीकरण के साथ बहुत कुछ नहीं है; मुख्य रूप से, वे कुछ "राज्य" को "राज्य-कम" प्रोटोकॉल, HTTP में जोड़ रहे हैं। कुकीज़ स्वयं कुछ भी प्रमाणित नहीं करते हैं। वे बस एक सर्वर को भेजी जा रही जानकारी हैं जो उस सर्वर ने पहले ब्राउज़र को सहेजने के लिए कहा था। हां, यह जानकारी यह निर्धारित करने के लिए उपयोग की जा सकती है कि क्या आपको पहले उपयोगकर्ता के रूप में प्रमाणित किया गया था (आमतौर पर HTTP POST/GET के माध्यम से)। यह भी इंगित करने के लिए उपयोग किया जा सकता है कि आपने पहले कोई विशेष विज्ञापन देखा है या उस साइट पर पहले और कब देखा था, आदि – userx

-2

आप एक परीक्षण हालत का इस्तेमाल करते हैं और

त्रुटि कोड पर पारित कर सकते हैं: 401.1-लॉग ऑन विफल रहा है। लॉगऑन प्रयास असफल है, शायद उपयोगकर्ता नाम या पासवर्ड की वजह से मान्य नहीं है।

जो विशेष रूप से गलत पासवर्ड या मेल खाने वाले उपयोगकर्ता नाम और पासवर्ड के लिए उपयोग किया जाता है। उम्मीद है कि यह आपकी मदद करता है।

+0

401.1 माइक्रोसॉफ्ट विशिष्ट प्रतीत होता है http://support.microsoft.com/kb/247593 – deamon

+0

है वहाँ एक आरएफसी परिभाषित 401.1? – deamon

+0

HTTP स्थिति कोड तीन अंक होते हैं। तार पर एनएनएनएन जैसी कोई चीज नहीं है (शायद * संदेश * में छोड़कर, जिसमें कोई अर्थ नहीं है) –

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