2009-07-21 25 views
6

अगर किसी की भी एक जैसी कहानी है, तो कृपया नीचे दिए गए विवरण पोस्ट करें!डायरेक्टरीएन्ट्री के साथ एलडीएपी के खिलाफ प्रमाणीकरण क्यों करता है अंततः COMException (0x8007203A) फेंक देता है: "सर्वर परिचालन नहीं है"?

मैं एक एएसपी.नेट वेबसाइट बना रहा हूं जिसे एलडीएपी के खिलाफ प्रमाणीकरण का समर्थन करने की आवश्यकता है।

विंडोज़ पर, एलडीएपी ऑथ सक्रिय निर्देशिका के माध्यम से किया जा सकता है (मैं कोई विशेषज्ञ नहीं हूं, लेकिन एडी बस एलडीएपी का एक विशेष स्वाद है)। मैं एडी और/या एलडीएपी सर्वरों को नियंत्रित नहीं करता हूं।

मैं प्रमाणीकरण के विभिन्न तरीके की कोशिश की है, लेकिन मैं प्रमाणीकरण प्रयास प्रति एक भी DirectoryEntry के प्रयोग पर बसे है:

using (DirectoryEntry de = new DirectoryEntry(ldapPath, ldapUsername, password, AuthenticationTypes.ServerBind)) { 
    try { 
     // Bind to the native AdsObject to force authentication. 
     object obj = de.NativeObject;//not IDisposable 
    } catch(... 

NativeObject प्राप्त कर रहा है एक COMException का कारण बनता है कुछ भी जो भी गलत हो जाता है, उदाहरण के लिए अगर प्रमाणीकरण विफल रहा, अपवाद कुछ है "लॉगऑन विफलता: अज्ञात उपयोगकर्ता नाम या खराब पासवर्ड", और यदि ldap सर्वर पहुंच योग्य नहीं है या समय समाप्त होता है, तो "सर्वर चालू नहीं है।"

यह मूल रूप से काम करता है, लेकिन दिनों की परिवर्तनीय संख्या के बाद, हमेशा सुबह में पहली चीज़ शुरू करते हैं, हमें "सर्वर परिचालन नहीं होता है।" जब तक आईआईएस पुनरारंभ नहीं होता है। यह स्पष्ट रूप से एक महान दीर्घकालिक समाधान नहीं है, लेकिन जहां तक ​​मैं गलती बता सकता हूं कि कॉम ऑब्जेक्ट अंतर्निहित DirectoryEntry के साथ निहित है - कुछ ठीक करने के लिए आसान नहीं है।

Thisproblemisn'tneworunknown। कुछ लोग मिश्रित परिणामों के साथ माइक्रोसॉफ्ट के समर्थन के माध्यम से चला गया है; मूल रूप से उत्तर नीचे आते हैं "अपना एलडीएपी पथ लें और कुछ समकक्ष विकल्प बनाएं और शायद उनमें से एक काम करेगा"। प्रत्येक बार जब आप कोशिश करते हैं, या निश्चित रूप से, आप कुछ दिनों के लिए नहीं जानते होंगे कि यह वास्तव में काम करता है, और जब तक कोई वास्तविक समाधान नहीं मिलता है, हम वापस "हर रात विंडोज सर्वर रीबूट" करने के लिए वापस आ जाते हैं।

* "cn=username,ou=staff,o=myOrganisation,c=org" 

इन सभी पद्धतियों का शुरू में काम करते हैं, लेकिन बाद असफल:

एक शुरुआत के रूप में, मैं प्रारूप निम्नलिखित पैटर्न के साथ एक उपयोगकर्ता नाम के साथ

* "LDAP://server.uri:636" 
* "LDAP://insecure.server.uri:389" 
* "LDAP://server.uri:636/cn=username,ou=staff,o=myOrganisation,c=org" 

हमेशा में ldap रास्तों की कोशिश की है दिनों की एक परिवर्तनीय संख्या (और आईआईएस रीसेट के बाद काम करना शुरू करें)। सर्वर IK6 जीत 2k3 पर चल रहा है।

यदि किसी और को ये समस्याएं हैं, तो कृपया नीचे पोस्ट करें, और शायद अंत में हमें काम करने के लिए एक पैटर्न मिलेगा या इसे ठीक करने के लिए माइक्रोसॉफ्ट को मनाने के लिए पर्याप्त संख्या में उदाहरण मिलेगा।

+0

यह संभव इस त्रुटि 2k3 का क्लस्टरिंग विकल्पों को जीतने के लिए संबंधित है के साथ यह तय हो गई है - हम माइग्रेट किए गए एक गैर-क्लस्टर एकल सर्वर सिस्टम के लिए, और पिछले कुछ दिनों में समस्या मुक्त हो गई है। –

+0

क्लस्टर क्या था? सर्वर आपके ऐप चला रहा है या सर्वर एडी चला रहा है? –

+0

सर्वर एप चला रहा है। एलडीएपी सर्वर असल में एक गैर-विंडोज मशीन कहीं बाहरी चल रहा था - मुझे इसकी कॉन्फ़िगरेशन के बारे में निश्चित नहीं है। साथ ही, मैन्युअल रूप से निर्मित यूडीपी "कनेक्शन" के लिए भी समस्याएं उत्पन्न होती हैं, यह सुझाव देती है कि यह कुछ निम्न-स्तर की बात है। –

उत्तर

5

हालांकि मैं इस समस्या के कारण को निश्चित रूप से इंगित नहीं कर सकता, ऐसा लगता है कि गैर-क्लस्टर सर्वर पर माइग्रेट करने के बाद इसे रोकना पड़ा है।

इस बग के बारे में अन्य अजीब तथ्यों के होते हैं:

  • asp.net मेजबान प्रक्रिया पुन: प्रारंभ हो मुसीबत ठीक करने के लिए पर्याप्त नहीं है। यह गलत है; आप ओएस जबरन प्रक्रिया मौत
  • पुनः प्रारंभ करने पर संसाधनों को रिहा करने उम्मीद थी सेवा संसाधनों (UDP पोर्ट) जारी नहीं करता है IIS।नेटस्टैट से पता चलता है कि बंदरगाह मुफ़्त लगते हैं, लेकिन सभी बंदरगाहों को वास्तव में प्रक्रिया # 4 - सिस्टम प्रक्रिया द्वारा खोला जाता है।
  • मारना आईआईएस (उदाहरण के लिए आईआईएस प्रबंधक के माध्यम से) यूडीपी पोर्ट जारी करता है, और फिर प्रमाणीकरण फिर से काम करता है।

सब कुछ, यह क्लस्टरिंग सक्षम के साथ win2k3 में ड्राइवर या कर्नेल समस्या की तरह दिखता है, न कि .NET से संबंधित समस्या।

तो, अगर कोई और इसी तरह की समस्या पर ठोकर खाता है, तो यह देखने के लिए जांचें कि क्लस्टरिंग सक्षम है या नहीं - यह आपको सिरदर्द के सप्ताह बचा सकता है।

0

मैंने नेटस्टैट के साथ जांच के बारे में कुछ पढ़ा और सक्रिय कनेक्शन की स्थिति की जांच की। एक समय WAIT गुणक बंदरगाह पुनर्निर्देशन के साथ एक मुद्दा इंगित कर सकता है। फिर भी, पिछले 3 दिनों के लिए एक ही त्रुटि मिल रही है। मैंने नेटवर्क प्रशासक से मेरी अनुमतियों को संशोधित करने के लिए कहा है, और यहां तक ​​कि इससे मदद नहीं मिली है। लेख अधिक जानकारी के में इस पर चर्चा: C# .NET Application looses Connection to the Active Directory

+0

http://forums.techarena.in/active-directory/943180.htm नहीं मिला – Kiquenet

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