6

मैं एमवीसी- एएसपीनेट (विजुअल स्टूडियो 2013) में प्रमाणीकृत पहचान के दावों को प्रदर्शित करने के लिए परीक्षण अनुप्रयोग विकसित कर रहा हूं। मैंने निम्नलिखित निर्देशिका में सक्रिय निर्देशिका से प्रमाणीकरण दिया है।सुरक्षा के लिए कोई मान्य कुंजी मैपिंग नहीं मिली टोकन

1. समाधान में नई एमवीसी परियोजना जोड़ें। 2. प्रमाणीकरण बदलें पर क्लिक करें। 3. संगठन खाता चुनें 4. परिसर पर चयन करें। 5. दिए गए फेडरेशन यूआरएल 6. ऐप आईडी यूआरएल

एप्लिकेशन चलाने के बाद मुझे निम्न त्रुटि मिल रही है।

WIF10201: नहीं वैध कुंजी मानचित्रण securityToken मिला: 'System.IdentityModel.Tokens.X509SecurityToken' और जारीकर्ता: 'http://websso.avanade.com/adfs/services/trust'

यह त्रुटि केवल अन्य महासंघ मैं दावे देखने के लिए कर रहा हूँ के लिए इस महासंघ के लिए आ रहा है ।

इंटरनेट पर खोज करने के बाद मैं सोच रहा हूं कि यह प्रमाण पत्र (थंबप्रिंट) मुद्दा है। लेकिन मैं समाधान के साथ स्पष्ट नहीं हूँ।

क्या कोई मुझे बता सकता है कि यह त्रुटि क्यों फेंक रही है और इसके लिए समाधान क्यों है।

अग्रिम में धन्यवाद !!!

उत्तर

6

इस त्रुटि के लिए 2 कारण हो सकते हैं।

  1. web.config में थंबप्रिंट लापता: ADFS से वास्तविक थंबप्रिंट प्राप्त करें और साइट और ADFS विन्यास के बीच पोर्ट संख्या में थंबप्रिंट टैग के तहत web.config में डाल

  2. बेमेल: के साथ अद्यतन ADFS विन्यास url सही पोर्ट संख्या

दूसरा समाधान मेरे लिए यह तय युक्त ...

1

मैं इस जबकि टी में भाग एएडी का उपयोग करने के लिए एक विरासत एमवीसी अनुप्रयोग अद्यतन करने के लिए rying।

मैं संगठनात्मक प्रमाणीकरण के साथ एक नव निर्मित परियोजना पर परिवर्तन आधारित है और पाया है कि मैं एक कनेक्शन स्ट्रिंग DefaultConnection नाम है, जो DatabaseIssuerNameRegistry मान लिया गया है तो आप करेंगे नहीं था, न ही मैं डेटाबेस में आवश्यक टेबल के दोनों था।

का उपयोग विटोरियो Bertocci के great post with all the details, मैं नया डेटाबेस तालिकाओं एकीकृत करने के लिए कोड पुनर्संशोधित, बनाया है और एक प्रवास आवेदन किया, और क्रमशः नई IssuingAuthorityKey और Tenant तालिकाओं में उचित कुंजी और किरायेदार डाला,। मुझे मौजूदा DbContext का उपयोग करने के लिए DatabaseIssueNameRegistry को बदलना भी सुनिश्चित करना था।

0

वीएस2013 में बनाए गए समाधानों के लिए और बाद में, समाधान में स्वचालित रूप से कुंजी पर रोल करने के लिए तर्क होना चाहिए। Web.config फ़ाइल में मान डालने की कोई आवश्यकता नहीं है।

स्थानीय से दूसरे वातावरण में आपके समाधान को माइग्रेट करते समय आप इस समस्या में भाग ले सकते हैं। उस स्थिति में आप शायद अपने समाधान को Azure सक्रिय निर्देशिका में किसी नए एप्लिकेशन पर इंगित करने का प्रयास करेंगे।निम्नलिखित की जाँच करें:

  • यकीन है कि web.config में सभी URL सही यूआरएल नहीं एक स्वचालित रूप से उत्पन्न जब आप इसे सेट अप स्थानीय स्तर पर
  • IssuingAuthorityKeys टेबल से सारे enteries निकालें की ओर इशारा करते रहे हैं। जब आप समाधान को फिर से बनाते हैं और इसे चलाते हैं तो चाबियाँ स्वतः बदलती रहेंगी। सर्वर पर आपको
  • रीफ्रेश करने के लिए मैन्युअल रूप से डीएलएस को प्रतिस्थापित करने की आवश्यकता हो सकती है अंतिम और सबसे महत्वपूर्ण, किरायेदारों की तालिका से सभी पंक्तियां हटाएं। नए पर्यावरण पर पहले भाग पर, स्वामित्व वाली सक्रिय निर्देशिका से एक व्यवस्थापक को साइन अप करना और एप्लिकेशन को अधिकृत करना है।

यदि इन चरणों के बाद दोनों तालिकाओं में मान स्वचालित रूप से पॉप्युलेट नहीं होते हैं, तो मानों को मैन्युअल रूप से कैसे प्राप्त करें, इस पर चरणों के लिए article देखें।

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