एसओ पर कई उत्कृष्ट प्रश्न (और उत्तर) हैं। आरईएसटी और सुरक्षा के विषय के आसपास। बहुत से लोग कहते हैं, "शुद्धवादियों को यह पसंद नहीं होगा, लेकिन ब्ला ब्लाह" ... और फिर अन्य कहते हैं, "आपको ऐसा कभी नहीं करना चाहिए, क्योंकि ब्ला ब्लाह"।एक विश्वसनीय सेवा को अधिकृत करने के व्यावहारिक उदाहरण?
लेकिन मैंने समाधान नहीं देखा है कि "शुद्धवादी" निम्नलिखित परिदृश्य के लिए सुझाव दे रहे हैं। तो मेरा सवाल है - निम्नलिखित परिदृश्य में "शुद्ध पुनर्स्थापना समाधान" क्या हैं?
सरल परिदृश्य ...
एक उपयोगकर्ता अपने पसंदीदा व्यंजनों प्रबंधित करने देता है एक डेटाबेस/वेबसाइट के निर्माण की कल्पना करें। वेबसाइट एक रीस्टफुल एपीआई का खुलासा करती है ताकि उपयोगकर्ता अपनी सूची को उस कस्टम प्रोग्राम से क्वेरी और हेरफेर कर सकें जिसे वे लिखना चाहते हैं (जो इस एपीआई का उपयोग करता है)।
तो, उपयोगकर्ता "ए" में आईडी के "1", "2" और "3" के साथ 3 पसंदीदा व्यंजन हैं।
उपयोगकर्ता "बी" में आईडी के "4" और "5" के साथ 2 पसंदीदा व्यंजन हैं।
हमें यह सुनिश्चित करने की आवश्यकता है कि यदि उपयोगकर्ता ए DELETE
/Recipes/4
पर आदेश भेजता है तो उसे Forbidden (403)
प्रतिक्रिया मिलेगी।
क्या मैं सामान्य रूप से करना होगा ...
क्या मैं सामान्य रूप से करते हैं उन्हें पहले एक प्रमाणीकरण विधि कॉल कर रहा है होता है, और उन्हें Auth-टोकन कि 30 मिनट या तो के लिए मान्य है किसी प्रकार का भेजें। आम तौर पर यह टोकन एक कुकी के माध्यम से पारित किया जाएगा।
शुद्ध समाधान क्या है?
उन्हें क्वेरी स्ट्रिंग में एक चर के रूप में इसे पारित करने के लिए शुद्ध बाकी समाधान है? Are cookies the devil? टोकन को यूआरएल के एक सेगमेंट के रूप में इस्तेमाल किया जाना चाहिए (एक क्वेरी स्ट्रिंग पैरामीटर के विपरीत)? क्या कोई और चीज है जो इस सवाल का स्पष्ट रूप से उत्तर देती है?
यहां थोड़ा सा पैडेंटिक: मुझे लगता है कि आप अपने मामले में 403 देना चाहते हैं, 401 नहीं। प्रमाणीकरण एक सेवा के साथ है, लेकिन आपके मामले में उपयोगकर्ता ए नुस्खा पाने के लिए _forbidden_ है 4. मुझे पता है कि यह नहीं करता सवाल का जवाब बिल्कुल ठीक नहीं है, लेकिन ध्यान देने योग्य है। http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html अंतर दिखाता है। (पुन: प्रमाणीकरण उपयोगकर्ता ए को रेसिपी 4 में मदद नहीं करेगा, इसलिए 403.) –
दाएं - असल में कोई भी एक मुद्दा है ... पहले 401 - जैसा कि, आप अधिकृत हैं और फिर दूसरी बात 403 - जैसे, आपकी "अनुमतियां क्या हैं "- जो राज्य/सत्र/usercontext बहस में आता है ... किसी भी तरह से, सवाल बनी हुई है। स्पष्टीकरण के लिए धन्यवाद! –
हां, दोनों महत्वपूर्ण हैं। सबसे सरल समाधान निश्चित रूप से https पर मूल लेख है। मुझे लगता है कि "शुद्ध" है। क्या आप विकल्पों की तलाश में हैं? –