मैं के माध्यम से नेस्ट समूहों है कि एक उपयोगकर्ता सक्रिय निर्देशिका में का एक सदस्य है, दोनों स्पष्ट रूप से memberOf संपत्ति सूची में सूचीबद्ध के सभी की एक सूची प्राप्त करने के साथ ही परोक्ष करने के लिए देख रहा हूँ समूह की सदस्यता। उदाहरण के लिए, यदि मैं यूजरए और यूजरए की जांच करता हूं तो ग्रुप ए और ग्रुपबी का हिस्सा है, तो ग्रुपबी ग्रुप सी का सदस्य होने पर भी मैं ग्रुपसी को सूचीबद्ध करना चाहता हूं।रिकर्सिव समूह सदस्यता (सक्रिय निर्देशिका) का पता लगाएं, का उपयोग करते हुए सी #
आप अपने आवेदन में थोड़ा अधिक जानकारी देने के लिए, मैं एक सीमित आधार पर यह कर दिया जाएगा। असल में, मैं कभी-कभी सुरक्षा जांच चाहता हूं जो इन अतिरिक्त सदस्यताों की सूची देगा। मैं दोनों को अलग करना चाहता हूं लेकिन यह मुश्किल नहीं होना चाहिए।
मेरे समस्या यह है कि मैं एक कारगर तरीका इस क्वेरी काम करने के लिए नहीं मिला है है। सक्रिय निर्देशिका (This CodeProject Article) पर मानक पाठ ऐसा करने का एक तरीका दिखाता है जो मूल रूप से एक पुनरावर्ती लुकअप है। यह बहुत अक्षम है। यहां तक कि मेरे छोटे डोमेन में, उपयोगकर्ता के पास 30+ समूह सदस्यता हो सकती है। इसका मतलब है कि एक उपयोगकर्ता के लिए सक्रिय निर्देशिका में 30+ कॉल।
मैं निम्नलिखित LDAP कोड देखा है एक बार में memberOf प्रविष्टियों के सभी प्राप्त करने के लिए:
(memberOf:1.2.840.113556.1.4.1941:={0})
जहां {0} मेरी LDAP पथ होगा (पूर्व: सीएन = UserA, OU = उपयोगकर्ता, डीसी = foo, डीसी = ऑर्ग)। हालांकि, यह किसी भी रिकॉर्ड वापस नहीं करता है। इस विधि के नकारात्मक पक्ष, भले ही यह काम करता है, यह होगा कि मैं नहीं जानता कि कौन सा समूह स्पष्ट था और जो अंतर्निहित था।
है यही कारण है कि मैं अब तक की है। मैं जानना चाहता हूं कि कोडप्रोजेक्ट आलेख से बेहतर तरीका है या नहीं, और यदि ऐसा है, तो यह कैसे पूरा किया जा सकता है (वास्तविक कोड अद्भुत होगा)। मैं .NET 4.0 और C# का उपयोग कर रहा हूं। मेरी सक्रिय निर्देशिका विंडोज 2008 कार्यात्मक स्तर पर है (यह अभी तक आर 2 नहीं है)।
इसे साझा करने के लिए धन्यवाद।यह बहुत ही आशाजनक लग रहा है। मैं जहाँ मैं इसे तुरंत परीक्षण कर सकते हैं से दूर कर रहा हूँ (मुश्किल से इंटरनेट है) लेकिन मैं जितनी जल्दी हो सके यह परीक्षण करने और आप जानते हैं कि मैं क्या लगता है दूँगा। एक बार फिर धन्यवाद। – IAmTimCorey
संपादित: मैं कुछ और जांच करने के लिए और से जब माइक्रोसॉफ्ट इन पुनरावर्ती नियंत्रण का समर्थन करने के लिए शुरू विवरण जोड़ें। मुझे अजीब बात है कि सूचना रूट डीएसई में नहीं है। – JPBlanc
तो। क्या आप इसका परीक्षण करते हैं? – JPBlanc