2013-09-25 3 views
8

मैं एक एचटीएमएल/सीएसएस/जेएस फ्रंटएंड के साथ, एंगुलरजेएस और एएसपी.नेट एमवीसी वेब एपीआई का बैकएंड के रूप में उपयोग करके काफी बड़ा आवेदन लिख रहा हूं।एक शुद्ध एचटीएमएल/सीएसएस/जेएस एसपीए आवेदन देने से उपयोगकर्ता को अपना उपयोगकर्ता नाम/पासवर्ड पूछना है और इसे एडीएफएस में भेजना है?

मैं उपयोगकर्ताओं को प्रमाणीकृत करने में सक्षम होना चाहता हूं, मैंने एक अलग मशीन पर ThinkTecture प्राधिकरण सर्वर स्थापित किया है, और डोमेन नियंत्रक पर एक एडीएफएस उदाहरण चल रहा है। वर्तमान में, मैं लॉगिन के लिए एडीएफएस के साथ प्रदान किए गए वेब पेज का उपयोग कर रहा हूं, लेकिन यह अच्छा होगा अगर मैं अपने स्वयं के पेज का उपयोग कर सकूं, जो उपयोगकर्ता नाम/पासवर्ड कॉम्बो के लिए पूछेगा, इसे प्राधिकरण सर्वर/एडीएफएस को पास करें, और उसके बाद बस उसके बाद प्रमाणीकरण टोकन।

क्या किसी ने कुछ ऐसा किया है?

सादर, डैनियल

+0

क्या आपको अपनी समस्या के लिए कोई कामकाज मिला? कृपया अपना समाधान साझा करें क्योंकि मुझे एक समान समस्या को हल करने की आवश्यकता है। –

+0

मैंने निम्नलिखित किया: - मेरे एपीआई में एक/लॉगिन एंडपॉइंट जोड़ा गया, जिसे उपयोगकर्ता पोस्ट कर सकता है (एसएसएल पर, इसलिए उपयोगकर्ता नाम/पासवर्ड सादे टेक्स्ट में नहीं भेजे जाते हैं) - मेरे API में Thinktecture.IdentityModel लाइब्रेरी का उपयोग किया गया प्राधिकरण सर्वर से कनेक्ट करने के लिए प्रोजेक्ट (कोड प्रवाह का उपयोग करके)। कोड इस तरह दिखता है: ' \t वर ग्राहक = नए OAuth2Client ( \t \t नई उरी (अंतिम बिंदु), \t \t clientid, गुप्त); \t लॉगिन प्रतिक्रिया प्रतिक्रिया = शून्य; \t AccessTokenResponse tokenResponse = null; \t कोशिश \t { \t \t tokenResponse = client.RequestAccessTokenUserName (data.user, data.pass, "पढ़ें"); \t} \t पकड़ (अपवाद पूर्व) \t { \t \t \t} ' यह काम करता है ... – dabs

+0

स्वरूपण के बारे में क्षमा करें, यह हाथ से एक सा हो गया ... – dabs

उत्तर

3

वास्तव में आप उपयोगकर्ता तो आप एक सर्वर साइड है (जावा या NET या *) कि इस अनुरोध के लिए अपने स्पा के लिए लॉग इन किया जाएगा।

सर्वर एडीएफएस को टोकन पूछता है, एडीएफएस टोकन भेजता है और आपका सर्वर एक कुकी के माध्यम से प्रतिक्रिया में AngularJS को टोकन पास करता है।

प्रतिक्रिया (401,403) की स्थिति की जांच करने के लिए एक http इंटरसेप्टर उम्मीद करने के लिए कोणीय पक्ष कुछ भी नहीं है ...

कुकी स्वचालित रूप से AngularJS द्वारा क्रोध किया जाएगा प्रत्येक अनुरोध में यदि आप जानते हैं कि कैसे एक को लागू करता है चाहता हूँ AngularJS पर htppInterceptor बस की जाँच करें:

AngularJs -.net MVC WebApi Authentication example

इस सूत्र में मैं कैसे इस कदम को लागू करता है समझाओ।

वैसे भी: आपका एसपीए एक आरआईए ठीक है लेकिन फिर भी एक वेबपैड का ग्राहक हिस्सा है। मुझे नहीं लगता कि यह वास्तव में अच्छा है (मुझे लगता है कि यह वास्तव में बुरा है) क्लाइंट के हिस्से को सीधे एडीएफएस से संपर्क करने दें ... यदि आप ऐसा करते हैं तो मैन-इन-द-मध्य को कैसे रोकें?

+0

दिलचस्प लगता है। क्या वेब एपीआई प्रोजेक्ट लॉगिन अनुरोध को संभालने में सक्षम होगा? – dabs

+0

मेरे लिए यह वास्तव में स्टैंडर नहीं है लेकिन लॉगिन पृष्ठ एक क्लासिक एमवीसी पृष्ठ है जब आप एसपीए में लॉग इन हैं! –

+0

वैसे भी यदि आप –

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

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