2012-01-29 15 views
6

मैं इन मानकों के साथ एक काम कर LDAP सर्वर है:एएसपी.नेट एमवीसी: एलडीएपी प्रमाणीकरण के लिए web.config कैसे सेट करें?

OU=users,OU=mydomain,O=this domain 
LDAP://myhost:389 

मैं सफलतापूर्वक निम्न सेटिंग के साथ एक सामान्य ldap ग्राहक साथ पहुँच , अच्छा Jarek Gawor के ldap ब्राउज़र/ग्राहक की तरह:

OU=users,OU=mydomain,O=this domain 
User info (append base DN): 
uid=myid 
password=mypwd 

मैंने एएसपी.NET के साथ ऐसा करने की कोशिश की, हमेशा त्रुटि प्राप्त हुई "गलत उपयोगकर्ता नाम या पासवर्ड"। क्या आप उपरोक्त पैरामीटर के साथ web.config सेट अप करने में मेरी मदद कर सकते हैं, कृपया? मैं कई की कोशिश करता है, अग्रिम connectionUsername बदलने, domainname हटाने, uid = MyID, आदि डाल ...

web.config

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://myhost:389"/> 
    .... 

<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
    <add name="DefaultMembershipProvider" 
     type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     connectionStringName="ADConnectionString" 
     connectionProtection="None" 
     connectionUsername="MYDOMAIN\myid" 
     connectionPassword="mypwd" 
     attributeMapUsername="sAMAccountName" 
     enableSearchMethods="True" /> 
    </providers> 
</membership> 
...... 

धन्यवाद की तरह

+0

'माइपास 'या' mypwd' या यह सिर्फ एक टाइपो है? –

+0

क्षमा करें @WiktorZychla, यह सिर्फ एक उदाहरण था। मैं mypwd के रूप में पासवर्ड मानकीकृत। THX – Larry

उत्तर

2

से ऊपर हो गया मैं इसे निम्नलिखित web.config सेटअप के साथ काम प्राप्त करने में सफल रहा।

दोनों समस्याओं/त्रुटियां नहीं थे:

1) मैं कंटेनर निर्दिष्ट नहीं किया है, इसलिए मैं @ केविन के संकेत का पालन किया:

<configuration> 
    <connectionStrings> 
    <add name="ADConnectionString" connectionString="LDAP://myhost:389/O=this domain,CN=Users,DC=mydomain,DC=com"/> 
    .... 

मुझे लगता है कि प्रासंगिक सीएन था, जबकि हे यहां छोड़ा जा सकता है, लेकिन मुझे नहीं लगता कि यह बहुत महत्वपूर्ण है ...

दूसरा) मैंने कनेक्शन के अंदर डीएन बेस और उपयोगकर्ता नाम (फॉर्म uid =) रखा है उपयोगकर्ता नाम पैरामीटर:

<membership defaultProvider="DefaultMembershipProvider"> 
    <providers> 
<add name="DefaultMembershipProvider" 
    type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    connectionStringName="ADConnectionString" 
    connectionProtection="None" 
    connectionUsername="uid=myid, O=this domain" 
    connectionPassword="mypwd" 
    attributeMapUsername="sAMAccountName" 
    enableSearchMethods="True" /> 

कृपया ध्यान दें, मेरे मामले में मैं uid = MyID डाल करने के लिए की जरूरत है। मुझे नहीं पता कि यह एक सामान्य समाधान हो सकता है; शायद यह मेरी कंपनी के एडीएएस कॉन्फ़िगरेशन से संबंधित है, मुझे नहीं पता। मुझे उम्मीद है कि यह आप में से कुछ की मदद कर सकता है ... अगर आपको यह समाधान उपयोगी लगता है, तो कृपया वोट दें।

@ केविन: बहुत बहुत धन्यवाद। आप बहुत मददगार रहे!

0

केवल आइटम लापता लगता था डिफ़ॉल्ट कहां होना है। क्या आपने "/CN = उपयोगकर्ता, डीसी = testdomain1, डीसी = परीक्षण, डीसी = कॉम" के पीछे पिछली प्रविष्टि जोड़ने का प्रयास किया है?

 

add name="TestDomain1ConnectionString" connectionString="LDAP://testdomain1.test.com/CN=Users,DC=testdomain1,DC=test,DC=com" 

मैं http://msdn.microsoft.com/en-us/library/ff650307.aspx

+0

धन्यवाद @ केविन। दुर्भाग्य से यह काम नहीं करता है। वैसे भी अन्य एलडीएपी क्लाइंट्स के साथ मैंने बस डीएन बेस = "ओयू = यूजर, ओयू = मायडोमेन, ओ = यह डोमेन" सेट किया है और यूआईडी = myid और password = mypwd को डीएन के आधार पर जोड़ दिया है ... मैंने कई प्रयास किए हैं, उपयोगकर्ता नाम बदलना myid @ mydomain, mydomain \ myid, myd, uid = myid, आदि .... – Larry

+0

मुझे लगता है कि उपयोगकर्ता नाम/पासवर्ड में कोई अजीब पात्र नहीं है जो इस समस्या का कारण बन सकता है। सुनिश्चित नहीं है कि आपके पास envrionment पर कितना नियंत्रण है, लेकिन नेटवर्क पैकेट को स्नीफ करना और/या एडी लॉग तक पहुंचना भी उपयोगी होगा। आपने स्पष्ट रूप से बाकी सब कुछ करने की कोशिश की है! – bubbly

+0

THX केविन! मैं इसे काम करने में सफल रहा! अभी मेरी खाता सीमा के कारण मैं समाधान के रूप में यहां नहीं डाल सकता (मेरे पास 100 से कम प्रतिनिधि हैं)। मैं अगले 8 घंटों में पूरा जवाब दूंगा, thx दो समस्याएं/त्रुटियां थीं। 1) मैं कंटेनर निर्दिष्ट नहीं किया है, इसलिए मैं केविन पीछा संकेत: 2) मैं connectionUsername पैरामीटर के अंदर एक साथ डीएन आधार है और उपयोगकर्ता नाम डाल: ... connectionUsername = "uid = MyID, हे = इस डोमेन" मुझे नहीं पता कि यह एक सामान्य समाधान हो सकता है, फेराप्स मेरी कंपनी के एडीएएस कॉन्फ़िगरेशन से संबंधित है, मुझे नहीं पता। @ केविन: बहुत बहुत धन्यवाद। मैं सहायक रहा हूँ! – Larry

0

WebConfig

<add key="LDAPPath" value="LDAP://ip/DC=company,DC=com" /> 
<add key="LDAPDomain" value="ta" /> 

सी # कोड

LoginRslt = adAuth.IsAuthenticated (ConfigurationSettings.AppSettings [ "LDAPDomain"] toString(), _username, _password।);

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