2009-08-12 11 views
10

मेरे पास एक ऐसा एप्लिकेशन है जो उपयोगकर्ताओं को पहुंच प्रदान करने के लिए ActiveDirectoryMembershipProvider का उपयोग कर रहा है। एप्लिकेशन को गैर-डोमेन मशीन पर होस्ट किया जाता है, जिसमें अनुप्रयोग सर्वर और डोमेन नियंत्रक के बीच फ़ायरवॉल होता है।ActiveDirectoryMembershipProvider "निर्दिष्ट डोमेन या सर्वर से संपर्क नहीं किया जा सका।"

हमने डीसी में एलडीएपी पोर्ट को अंदरूनी नेटवर्क पर खोला है - फिर भी कोई फर्क नहीं पड़ता कि हम क्या प्रयास करते हैं, हम एक त्रुटि के साथ समाप्त होते हैं जो कहता है "निर्दिष्ट डोमेन या सर्वर से संपर्क नहीं किया जा सका।"

क्या किसी के पास कोई सुझाव है कि मैं इसे कैसे हल कर सकता हूं? हमने उन सभी चीजों को आजमाया है जिनके बारे में हम सोच सकते हैं और बस कहीं भी नहीं जा रहे हैं।

मेरे कनेक्शन स्ट्रिंग है:

<add name="ADConnectionString" 
    connectionString="LDAP://10.5.3.7:389/DC=MyTestDomain,DC=local"/> 

और मेरे प्रदाता है:

<add name="ActiveDirectoryMembershipProvider" 
    type="System.Web.Security.ActiveDirectoryMembershipProvider" 
    connectionStringName="ADConnectionString" 
    attributeMapUsername="SAMAccountName" 
    connectionProtection="None" 
    connectionUsername="LdapUser" 
    connectionPassword="LdapPassword" /> 

उत्तर

0

अगर यह मापदंड के साथ कनेक्ट कर सकते हैं देखने के लिए, यदि आपके पास LDAP ब्राउज़िंग उपकरण के साथ परीक्षण किया है दूरदराज के बॉक्स के यहाँ इस्तेमाल किया जा रहा है? अर्थात। क्या यह एक कनेक्टिविटी समस्या है या कुछ और?

+0

हां - हम एक ही जानकारी का उपयोग कर एलडीएपी उपकरण का उपयोग कर क्वेरी करने में सक्षम हैं। यह मुझे परेशान कर रहा है। एक अजीब बात यह है कि मैंने नोटिस किया था कि एडी सदस्यता प्रदाता उस सर्वर के नेटबीओएसओ नाम को प्राप्त करने का प्रयास करता है जिसे आप कनेक्ट कर रहे हैं (इसे परावर्तक के साथ खोदें) - और उसके दौरान एक सटीक संदेश फेंकने वाला एक प्रयास/पकड़ है कि हम मिल रहे हैं। निश्चित नहीं है कि प्रदाता क्यों सोचता है कि इसे सर्वर के नेटबीओस नाम की आवश्यकता है। –

3

ऐसा लगता है समाधान की तरह पोर्ट 445.

Read this thread

हम खोलने के लिए तो मुझे लगता है मैं अटक कर रहा हूँ की अनुमति नहीं है खोलने के लिए है।

+0

पोर्ट 445 खोलना मेरे लिए चाल है। मैं 'System.DirectoryServices.DirectoryEntry (...) के माध्यम से कनेक्ट कर सकता हूं, बस मेरी एलडीएपी कनेक्शन स्ट्रिंग का उपयोग करके ठीक है, लेकिन' ActiveDirectoryMembershipProvider' के माध्यम से कनेक्ट करने के किसी भी प्रयास से निम्न त्रुटि उत्पन्न होगी: 'निर्दिष्ट डोमेन या सर्वर से संपर्क नहीं किया जा सका '। इस बंदरगाह को खोलने से इस मुद्दे को हल किया गया। – codechurn

1

आप इस दो लेख का उपयोग कर सकते हैं, आपकी समस्या का समाधान किया जा सकता है

www.ddj.com/windows/184406424

forums.asp.net/t/1408268.aspx

और चेक अपने फायरवॉल

4

The application is hosted on a non-domain machine, with a firewall between the application server and the domain controller.

के बाद से आप सीधे एक LDAP क्वेरी उपकरण का उपयोग कर सकता है, कि पता चलता है कि फ़ायरवॉल सही ढंग से खुला है। हालांकि, ध्यान रखें कि ActiveDirectoryMembershipProvider सादे पुराने एलडीएपी का उपयोग नहीं कर रहा है, यह माइक्रोसॉफ्ट प्रौद्योगिकियों का उपयोग कर रहा है। उदाहरण के लिए, यदि आप connectionProtection="Secure" सेट करते हैं, तो एडीएमपी एसएसएल और पोर्ट 636 का उपयोग करने का प्रयास करेगा, अगर यह विफल हो जाता है, तो यह माइक्रोसॉफ्ट के अंतर्निहित आईपीएससेक हस्ताक्षर का उपयोग करेगा (अधिक जानकारी के लिए this article देखें)।

वैसे भी, यह मेरे कुछ चीज़ें के बारे में चिंता करता है:

  1. ई डोमेन एक IPSec "आवश्यक" है नीति है जो गैर-डोमेन/गैर-कॉन्फ़िगर किया गया कंप्यूटर से कनेक्शन मना कर दिया? (शायद नहीं, चूंकि आप सादे एलडीएपी से जुड़े हुए हैं, लेकिन यह जांच के लायक है।)
  2. क्या आपने डोमेन नियंत्रक के NetBIOS नाम को अपनी lmhosts फ़ाइल में जोड़ा है, और इसका DNS नाम आपकी मेजबान फ़ाइल में जोड़ा गया है? (कई प्रोटोकॉल जांचते हैं कि उनके लक्ष्य का रिपोर्ट नाम उस नाम से मेल खाता है जिसे आपने कनेक्ट करने का प्रयास किया था।)
  3. बहुत से लोगों ने विभिन्न डोमेन के बीच एडीएमपी का उपयोग करने में समस्याएं देखी हैं, और समाधान की आवश्यकता है कि एक तरफा ट्रस्ट बनाया जाए। चूंकि ऐसा लगता है कि आपके क्लाइंट कंप्यूटर डोमेन में नहीं हैं, तो आप उस ट्रस्ट को नहीं प्राप्त कर सकते हैं - जब तक कि (ए) यह एक अलग-अलग डोमेन का सदस्य नहीं है, एक-तरफा ट्रस्ट या (बी) यह एक सदस्य है वही डोमेन और इस प्रकार क्लाइंट-सर्वर ट्रस्ट अंतर्निहित है।
+0

आपका दूसरा बिंदु मुझे समाधान के लिए प्रेरित किया! जाहिर है, हमारे परीक्षण सर्वर पर DNS का नाम बदल दिया गया था जिसके कारण केवल एडीएमपी विफल हो गई, जबकि हर दूसरी विधि काम करती थी! हालांकि, मेरे लिए वर्तमान कामकाज मेरे एलडीएपी कनेक्शन स्ट्रिंग में मेजबान नाम के बजाय आईपी पता होना था, वैसे ही स्कॉट ने इसे स्थापित किया है (इसके बजाय मैं पोर्ट नंबर प्रदान नहीं करता हूं, मैंने इसे स्वचालित रूप से चुनने दिया है) । –

1

मुझे यह त्रुटि थी, और इसे ठीक करने में कामयाब रहा।

  1. एक माइक्रो आवेदन, एकल विधि Membership.GetAllUsers (साथ बनाएं), सक्रिय निर्देशिका के बाहर मशीन पर अमल (: वहाँ कई कारण है कि इस का कारण बन सकता है, यहाँ एक करने के लिए सूची exect समस्या की पहचान है एडी), कनेक्शन स्ट्रिंग में गलत पासवर्ड के साथ, जांचें कि क्या आपको गलत पासवर्ड अपवाद मिलता है। यदि आपको यह नहीं मिलता है तो आप अपने एडी सर्वर से कनेक्ट नहीं हो सकते हैं, अगर आपको अमान्य पासवर्ड अपवाद मिलता है, तो अगला कदम प्राप्त करें।

  2. यदि आप कर सकते हैं, तो उसी ऐप को निष्पादित करने का प्रयास करें, एडी सर्वर पर localy, पहले गलत पासवर्ड के साथ, सही से निष्पादित ऐप स्थानीय रूप से अधिक विस्तृत अपवाद प्रदान करता है जो गलत है (मेरे लिए यह अपवाद मुझे समस्या को ठीक करने के लिए प्रेरित करता है) । मेरे मामले में उसने मुझे बताया कि वर्कस्टेशन सेवा शुरू नहीं होने की तुलना में सर्वर सेवा शुरू नहीं हुई है।

तथ्य यह है कि यह सर्वर और कार्य केंद्र सेवाओं की आवश्यकता पर कुछ विचार सर्वर पर काम कर रहे हैं: afaik सर्वर सेवा के लिए खिड़कियों फ़ाइल साझा प्रयोग किया जाता है (NetBIOS को TCP), और 445 पोर्ट उपयोग कर रहा है, तो यह मे हो कि यह बंदरगाह एलडीएपी बंदरगाह के अलावा खोला जाना चाहिए। मेरा दूसरा अवलोकन यह था कि अगर 445 बंदरगाह खोला गया था (netstat -an) यह अभी भी काम नहीं कर रहा है, तो विन्डोज़ इस पोर्ट पर सभी पैकेट छोड़ देंगे यदि विंडोज क्लाइंट और फ़ाइल और प्रिंटर साझाकरण चेकबॉक्स नेटवर्क इंटरफ़ेस एडाप्टर पर चेक नहीं किए गए हैं जो इस पैकेट को प्राप्त करते हैं । "टेलनेट बाहरी_आईपी 445" जांचें। इस समस्या के साथ घूमते समय मैंने एकत्र की गई सभी जानकारी को बताया।

0

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

हमारे पास उस आईपी पते पर लगाए गए सार्वजनिक रूप से खुला यूआरएल था (अभी भी केवल कुछ आईपी को कॉल करने की अनुमति है)। एक बार जब मैंने आईपी को यूआरएल के साथ बदल दिया, तो यह एक आकर्षण की तरह काम करता था।

आशा है कि यह किसी को सिर को तोड़ने के घंटों को बचाएगा, जिसे मैंने खुद ही रखा है।

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