लौटाता है मेरे पास एक एमवीसी 3 एप्लीकेशन है, और मेरे नियंत्रक कार्यों को [अधिकृत] विशेषता का उपयोग करके सुरक्षित किया जाता है। अब तक, बहुत अच्छा, फॉर्म बनाता है महान काम करता है। अब मैं अपने आवेदन में एक JSON एपीआई जोड़ना चाहता हूं ताकि कुछ क्रियाएं गैर-ब्राउज़र क्लाइंट के लिए पहुंच योग्य हों।एएसपी.नेट एमवीसी नियंत्रक कार्रवाई को सुरक्षित करना जो JSON
मुझे 'दाएं' डिज़ाइन को समझने में परेशानी हो रही है।
1) प्रत्येक उपयोगकर्ता के पास गुप्त API कुंजी है।
2) उपयोगकर्ता आईडी 5 कॉल http://myapp.com/foocontroller/baraction/5?param1=value1¶m2=value2&secure_hash=someValue। यहां, safe_hash केवल param1 का SHA1 हैश और उपयोगकर्ता के लिए गुप्त एपीआई कुंजी के साथ param2 के मानों को जोड़ा गया है
2)/फ़ोकोकंट्रोलर/बैक्शन [कस्टम प्राधिकरण] के साथ सजाया जाएगा। यह AuthorizeAttribute का कार्यान्वयन होगा जो जांच करेगा कि अनुरोध JSON के रूप में आ रहा है या नहीं। यदि ऐसा है, तो यह हैश की जांच करेगा और देखें कि यह मेल खाता है या नहीं। अन्यथा, अगर अनुरोध HTML है, तो मैं मौजूदा प्रमाणीकरण में कॉल करता हूं।
मुझे यकीन नहीं है कि यह काम करेगा या नहीं। क्या क्वेरी स्ट्रिंग में एक सुरक्षित हैश पास करना सामान्य है या क्या मुझे इसे HTTP शीर्षलेख के रूप में पास करना चाहिए? गुप्त एपीआई कुंजी का उपयोग कर हैश के बजाय HTTP मूल ऑथ का उपयोग करना बेहतर है?
एएसपी.नेट एमवीसी का उपयोग कर वेब एपीआई बनाने वाले किसी भी व्यक्ति से टिप्स का स्वागत होगा!
पर कॉल करने के लिए कोड जेसन, मुझे कुछ और विवरण पसंद आएंगे। मैं एमवीसी (आरओआर पृष्ठभूमि) के लिए बहुत नया हूं इसलिए मैं इस बात पर अस्पष्ट हूं कि अधिकृत गुण कैसे काम करते हैं। धन्यवाद! –
धन्यवाद जेसन! आप "अनुरोध निकाय में उपयोगकर्ता नाम और पासवर्ड के साथ गुप्त एपीआई कुंजी कैसे पास करते हैं"? क्या आप अनुरोध में कस्टम HTTP शीर्षलेख जोड़ते हैं या आप एचटीपी-प्राधिकरण का उपयोग करते हैं? –
उत्कृष्ट, विस्तृत प्रतिक्रिया के लिए धन्यवाद! –