6

का उपयोग करते हुए यहाँ हमारी समस्या .. हम एक MVC वेब-api सत्र को संभालने के लिए कुकीज़ के साथ फार्म प्रमाणीकरण का उपयोग करता है का निर्माण किया है है। जब हम वेब-एपीआई के समान डोमेन (लोकलहोस्ट या वेब-सर्वर) पर हमारे फ्रंट-एंड वेबपृष्ठ का उपयोग करते हैं, तो सभी ठीक काम करते हैं। (हम वेब-एपीआई के साथ संवाद करने के लिए JQuery $ .get और $ .post का उपयोग करते हैं)।फार्म प्रमाणीकरण क्रॉस डोमेन

हालांकि भविष्य में सामने वाला अंत एक स्टैंडअलोन एचटीएमएल 5 ऐप होना चाहिए, जो वेब-एपीआई के समान डोमेन पर स्थित नहीं है। दुर्भाग्य से यह काम नहीं कर रहा है।

वेब-एपीआई क्लाइंट को प्रमाणीकरण कुकी लौटाता है, लेकिन कुकी को वेब-एपीआई पर वापस नहीं लाया जाता है जब फ्रंट एंड इसके अनुरोध भेजता है। जब दोनों वेब-एपीआई और फ्रंट-एंड एक ही डोमेन पर होते हैं, तो कुकी स्वचालित रूप से अनुरोध के साथ भेजी जाती है।

हमने वेब-एपीआई वेब कॉन्फिग फ़ाइल में "एक्सेस-कंट्रोल-अनुमति-उत्पत्ति: *" और "एक्सेस-कंट्रोल-अनुमति-प्रमाणीकरण: सत्य" सेट करने का प्रयास किया है।

+0

क्या आप इस समस्या को हल करने में सक्षम थे? मैं एक समान स्थिति में हूं लेकिन मेरा क्लाइंट ऐप एक HTML5 आधारित फोनगैप एप्लिकेशन में है जो मोबाइल ब्राउज़र कंटेनर पर चलता है। –

उत्तर

4

आपको एक सिंगल-साइन-ऑन (एसएसओ) सुविधा की आवश्यकता है।

ब्राउज़र केवल उसी डोमेन पर कुकीज़ करेगा, यही कारण है कि यह विभिन्न डोमेन पर अनुप्रयोगों पर स्थित होने पर काम नहीं कर रहा था।

एएसपी.नेट - http://www.codeproject.com/Articles/106439/Single-Sign-On-SSO-for-cross-domain-ASP-NET-applic में एसएसओ को लागू करने पर कोडप्रोजेक्ट में एक अच्छा लेख यह एएसपी.NET एमवीसी पर भी लागू होता है।

+0

यह एक अच्छा लेख है! – saiyancoder

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