मैं एक फार्म आधारित प्रमाणीकरण दिशाओं मैं यहां पाया निम्नलिखित किसी ASP MVC 3 आवेदन में ई का उपयोग करता है लागू किया ASP.NET MVC - Authenticate users against Active Directory, but require username and password to be inputtedASP.NET MVC प्रपत्र आधारित प्रमाणीकरण ई का उपयोग कर स्थानीय स्तर पर काम करता है लेकिन सर्वर पर विफल रहता है (IIS7)
मैं ठीक काम करता है जब मैं ASP.NET विकास सर्वर का उपयोग कर चलाते हैं, लेकिन प्रवेश पृष्ठ के पार जाने के बाद मैं अपने क्रेडेंशियल दर्ज विफल रहता है और निम्न त्रुटि देता है:
विन्यास त्रुटि
विवरण: कोई त्रुटि occu इस अनुरोध की सेवा के लिए आवश्यक कॉन्फ़िगरेशन फ़ाइल की प्रसंस्करण के दौरान rred। कृपया नीचे दिए गए विशिष्ट त्रुटि विवरणों की समीक्षा करें और अपनी कॉन्फ़िगरेशन फ़ाइल को उचित रूप से संशोधित करें।
पार्सर त्रुटि संदेश: एक ऑपरेशन त्रुटि हुई।
स्रोत त्रुटि:
Line 37: <membership defaultProvider="MY_ADMembershipProvider">
Line 38: <providers>
Line 39: <add name="MY_ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" />
Line 40: </providers>
Line 41: </membership>
किसी भी मदद की बहुत सराहना की जाएगी, अग्रिम धन्यवाद।
अद्यतन: अब तक के बाद डिबग करता है की एक जोड़ी मुझे लगता है कि त्रुटि web.xml config में System.Web.Security.ActiveDirectoryMembershipProvider
से आ रही हो सकता है, मैं System.Web
जोड़ा (जिसमें उस वर्ग पाया जाता है) एक संदर्भ के रूप और यह भी एक बनाने के लिए
<add
name="MY_ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider"
connectionStringName="ADConnectionString"
attributeMapUsername="sAMAccountName"
connectionUsername="YOURDOMAIN\SomeAccount"
connectionPassword="secret"
/>
आप नहीं करना चाहते हैं: स्थानीय प्रतिलिपि, लेकिन अभी भी, ज़िप ... :(
यह तब भी नहीं हो सकता है जब एप्लिकेशन प्रपत्र विधि से प्रमाणीकरण विधि के रूप में स्विच करते समय एप्लिकेशन पूरी तरह से अच्छी तरह से काम करता है। – dotKwame
यह बिल्कुल सामान्य है। जब आप Windows प्रमाणीकरण का उपयोग करते हैं तो आप अपने एडी से पूछने के लिए क्लाइंट के प्रमाण-पत्र का उपयोग कर रहे हैं। जब आप अनाम प्रमाणीकरण का उपयोग करते हैं, तो कोई अनुमति नहीं होती है। –
तो बस एक कस्टम एडी सदस्यता प्रदाता के साथ इसका परीक्षण किया गया जो "मैन्युअल रूप से" एडी के माध्यम से कोड 'DirectoryEntry dsEntry = new DirectoryEntry (ldapSvrAddr, model.Username, model.Password) में प्रमाणीकृत है; ऑब्जेक्ट netobj = dsEntry.NativeObject; ', फिर' System.Web.Security.ActiveDirectoryMembershipProvider' से 'MyNamespace.MyCustomADClass'' से web.config में टाइप को बदल दिया और यह ठीक काम किया (कोई कनेक्शन उपयोगकर्ता नाम या पासवर्ड आवश्यक नहीं है), लेकिन मैं चाहता हूं मानक फ्रेम सदस्यता प्रदाता का उपयोग .नेट फ्रेमवर्क में करें और – dotKwame