के साथ ASP.NET वेब एपीआई सेवा को प्रमाणित करने में असमर्थ मेरे पास एक एएसपी.NET वेब एपीआई सेवा है जो विंडोज प्रमाणीकरण सक्षम वेब सर्वर पर चलती है।HttpClient
मैं एक ग्राहक MVC4 पर बनाया गया साइट है कि सेवा से डेटा खींचने के लिए HttpClient का उपयोग करता है एक ही वेब सर्वर पर एक अलग साइट में चलाता है। यह क्लाइंट साइट पहचान प्रतिरूपण सक्षम के साथ चलता है और विंडोज प्रमाणीकरण का भी उपयोग करता है।
वेब सर्वर आईआईएस 7.5 के साथ विंडोज सर्वर 2008 आर 2 है।
चुनौती मैं कर रहा हूँ HttpClient हो रही अपनी प्रमाणीकरण की प्रक्रिया के हिस्से के रूप में वर्तमान खिड़कियों उपयोगकर्ता पारित करने के लिए है। मैं इस तरह से HttpClient कॉन्फ़िगर किया है:
var clientHandler = new HttpClientHandler();
clientHandler.UseDefaultCredentials = true;
clientHandler.PreAuthenticate = true;
clientHandler.ClientCertificateOptions = ClientCertificateOption.Automatic;
var httpClient = new HttpClient(clientHandler);
मेरे समझ के साथ कि पहचान प्रतिरूपण सक्षम के साथ साइट चल रहा है और उसके बाद इस तरह से ग्राहक के निर्माण के प्रतिरूपित पहचान का उपयोग कर ग्राहक सेवा पर प्रमाणीकरण में परिणाम चाहिए वर्तमान में उपयोगकर्ता में लॉग इन है।
यह नहीं हो रहा है। वास्तव में, ग्राहक बिल्कुल प्रमाणीकरण प्रतीत नहीं होता है।
सेवा विंडोज प्रमाणीकरण का उपयोग करने के लिए कॉन्फ़िगर किया गया है और यह पूरी तरह से काम करता प्रतीत होता है। मैं अपने वेब ब्राउजर में http://server/api/shippers पर जा सकता हूं और विंडोज प्रमाणीकरण के लिए संकेत दिया जा सकता है, एक बार दर्ज होने पर मुझे अनुरोध किया गया डेटा प्राप्त होता है।
आईआईएस लॉग में मैं एपीआई अनुरोधों को प्रमाणीकरण के साथ प्राप्त नहीं कर रहा हूं और 401 चुनौती प्रतिक्रिया प्राप्त कर रहा हूं।
इस पर प्रलेखन स्पैस लगता है।
मुझे इस एप्लिकेशन के साथ क्या गलत हो सकता है या विंडोज प्रमाणीकरण का उपयोग करने का दूसरा तरीका कुछ अंतर्दृष्टि चाहिए।
धन्यवाद, क्रेग
अच्छी तरह से देखा गया .. .. – Aliostad
मैं आगे बढ़ गया और इन मानों को व्यवहार में कोई बदलाव नहीं किया। अजीब चीज यह है कि मैं क्लाइंट को सर्वर पर मारने और 401 प्रतिक्रिया प्राप्त करने वाला क्लाइंट देख सकता हूं। HttpClient बस किसी भी प्रमाणीकरण जानकारी नहीं भेज रहा है और केवल 401 और quits प्राप्त करता है। कोई अतिरिक्त विचार? –
इसके अतिरिक्त, मैंने उस एप्लिकेशन पूल की पहचान बदल दी है जो क्लाइंट विंडोज़ खाते में चल रहा है जिसमें सेवा तक पहुंच है। इसके परिणामस्वरूप कोई बदलाव नहीं हुआ। मैं इस पर खो गया हूँ? –