सक्रिय निर्देशिका के खिलाफ प्रमाणित करते समय किस क्षेत्र का उपयोग करना है?


12

सक्रिय निर्देशिका उपयोगकर्ता ऑब्जेक्ट में कई फ़ील्ड शामिल होते हैं जिन्हें एक पहचानकर्ता माना जा सकता है। निम्नलिखित ADUC में उनके लेबल और उनके विशेषता नाम के साथ इनमें से कुछ को सूचीबद्ध करता है:

  • पूरा नाम - cn
  • ? - नाम
  • उपयोगकर्ता sAMAccountName लॉगऑन - sAMAccountName
  • उपयोगकर्ता UPN लॉगऑन: userPrincipalName
  • ? - विशिष्ट नाम

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

क्या किसी ने एक का उपयोग करने के लिए उठाया है, और उस निर्णय में आपको क्या प्रभावित किया है? कोई भी दस्तावेज जो इस मुद्दे को स्पष्ट करता है?


मैं कुछ अनुप्रयोगों (आंतरिक रूप से विकसित और अन्य लोगों द्वारा किए गए दोनों काम) का सामना कर चुका हूं जो कि cn क्षेत्र का उपयोग करके LDAP के माध्यम से प्रमाणित होता है। यदि आप पहले या अंतिम नाम फ़ील्ड को बदलते हैं, तो यह फ़ील्ड अब AD व्यवस्थापन केंद्र में पूर्ण रूप से अपडेट हो जाती है (इसे पूर्ण नाम कहा जाता है), जिसका अर्थ है कि आप यह नहीं मान सकते हैं कि cn फ़ील्ड को उपयोगकर्ता नाम फ़ील्ड माना जा सकता है। क्या ये डेवलपर्स गलत फ़ील्ड का उपयोग कर रहे हैं, या Microsoft ने cn को तोड़ा है?
डंक्सड

जवाबों:


18

एक CN (सामान्य नाम) लॉग इन करने के लिए अच्छा नहीं है, क्योंकि अकेले CN किसी उपयोगकर्ता की विशिष्ट पहचान नहीं करता है। मैं एक हो सकता है

CN=Ryan Ries,OU=Dallas,DC=Domain,DC=com

और मैं भी कर सकता था

CN=Ryan Ries,OU=New York,DC=Domain,DC=com

एक उपयोगकर्ता का CN भी एक RDN (सापेक्ष नाम है।) उनके पास एक ही CN है, लेकिन विभिन्न DN हैं। आप देख सकते हैं कि आप समस्याओं में भाग लेते हैं यदि आपके पास अपने संगठन में दो लोग हैं जिनका नाम रियान रीज़ है, और आपको समैकाउंटनाम को दूसरे के लिए बनाना होगा जैसे कुछ rries2

एक डीएन (प्रतिष्ठित नाम) के साथ लॉग इन करना अच्छा नहीं है, क्योंकि कौन उपयोगकर्ता नाम जैसे सिस्टम में लॉग इन करना चाहता है CN=ryan,OU=Texas,DC=brazzers,DC=com? डीएन का उपयोग करते समय एक विशिष्ट और निश्चित रूप से उपयोगकर्ता की पहचान करता है, यह टाइप करने के लिए कष्टप्रद है। यह एक फ़ाइल सिस्टम पर संबंधित पथ और निरपेक्ष पथ के बीच एक ही तरह की अवधारणा है। इसका तात्पर्य यह भी है कि आप ठीक-ठीक जानते हैं कि निर्देशिका संरचना में वस्तु को खोजने के बिना कहां स्थित है। जो आप अक्सर नहीं करते।

इसे Ambiguous Name Resolution (ANR) कहा जाता है - एक उपयोगकर्ता के लिए निर्देशिका खोजना जब आपके पास उसका विशिष्ट नाम न हो।

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

Microsoft कहता है: UPN का बिंदु ईमेल और लॉगऑन नामस्थानों को समेकित करना है ताकि उपयोगकर्ता को केवल एक नाम याद रखना पड़े। UPN विंडोज उपयोगकर्ताओं के लिए पसंदीदा लॉगऑन नाम है। उपयोगकर्ताओं को डोमेन पर लॉग ऑन करने के लिए अपने यूपीएन का उपयोग करना चाहिए। लॉगऑन के समय, एक UPN को पहले स्थानीय डोमेन, फिर वैश्विक कैटलॉग को खोजकर मान्य किया जाता है। UPN को स्थानीय डोमेन में ढूंढने में विफलता या GC परिणाम UPN की अस्वीकृति में होता है। उपयोगकर्ता खाता बनाते समय UPN को असाइन किया जा सकता है, लेकिन आवश्यक नहीं है।

ध्यान रखें कि आपके अनुप्रयोगों को डिज़ाइन करते समय अंत में "आवश्यक नहीं" बिट।

SamAccountName इसलिए भी अच्छा है क्योंकि SamAccountName को डोमेन (लेकिन जंगल नहीं) में सभी के लिए अद्वितीय होने की आवश्यकता है। इसके अलावा, SamAccountName कम हैं। ज्यादातर लोग SamAccountNames के साथ लॉग इन करते हैं, भले ही वे आपको AD फ़ॉरेस्ट में विशिष्ट रूप से नहीं पहचानते हैं, यही कारण है कि आपको अपने SamAccountName के साथ जाने के लिए एक डोमेन नाम निर्दिष्ट करना होगा ताकि सिस्टम को पता चले कि आप किस डोमेन में लॉग इन करने का प्रयास कर रहे हैं ।

यहाँ आगे पढ़ने के लिए इस मुद्दे पर कुछ महान दस्तावेज हैं:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms677605(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms680857(v=vs.85).aspx


4

यदि आप उपयोगकर्ता नाम का उल्लेख कर रहे हैं, तो कोई व्यक्ति लॉगिन करना चाहेगा, मैं या तो सिफारिश करूंगा sAMAccountName, जो कि डोमेन नाम के साथ संयोजन में अद्वितीय होगा, या userPrincipalName, जो एक जंगल के भीतर अद्वितीय होगा।

जहां तक ​​यूनिक आइडेंटिफायर की बात है, विंडोज सभी एक्सेस कंट्रोल प्रविष्टियों के लिए SID का उपयोग करता है, और उपयोगकर्ता नामों से SID में अनुवाद के लिए तरीकों का एक पूरा सेट प्रदान करता है। SIDs खाते के जीवनकाल के लिए उपयोगकर्ता रूपक से मेल खाते हैं, क्योंकि डोमेन के भीतर नाम बदलने और स्थानांतरित करने का कोई प्रभाव नहीं पड़ता है, लेकिन नए SID में परिणामों को हटाने और फिर से बनाने के लिए।

इसके लिए मैं कहेंगे LookupAccountNameजो एक स्ट्रिंग उपयोगकर्ता नाम का प्रतिनिधित्व करने लगते हैं, और देता है, sAMAccountName, SIDडोमेन उपयोगकर्ता में पाया गया था की और डोमेन नाम।

उपयोगकर्ता तब लॉग इन करने के लिए विंडोज़ द्वारा समर्थित किसी भी सिंटैक्स का उपयोग कर सकता है और किसी अतिरिक्त प्रशिक्षण की आवश्यकता नहीं होती है।


क्या LookupAccountName UPN या sAMAccountName या पूरी तरह से योग्य DOMAIN \ sAMAccountName, या उपरोक्त सभी स्वीकार करता है? यह आपके द्वारा लिंक किए गए दस्तावेज़ से स्पष्ट नहीं है।
dunxd

प्रलेखन सूचियों स्वरूपों का समर्थन करता है: DOMAIN\Account, DOMAIN.COM\Account, Account, Account@DOMAIN.COM। यह कहता है कि पूरी तरह से योग्य नाम जल्दी हैं, लेकिन अन्य अभी भी उपलब्ध हैं।
मिच

0

मैं उपयोगकर्ता को उस नाम का प्रारूप चुनने की अनुमति दूंगा जिसका वह उपयोग करना चाहता है और आवेदन पक्ष पर उपयोगकर्ता के इनपुट का निर्धारण करता है। उदाहरण के लिए: यदि उपयोगकर्ता टाइप करता है: username@domain.com - इसे UPN मानें और AD में UPN खोजें। यदि उपयोगकर्ता प्रकार: उपयोगकर्ता नाम - पूर्वनिर्धारित डिफ़ॉल्ट डोमेन के लिए इसे samAccountName के रूप में मानते हैं और यदि उपयोगकर्ता डोमेन \ उपयोगकर्ता नाम टाइप करता है - तो इसे निर्दिष्ट डोमेन से samAccountName समझें। हमेशा उपयोगकर्ता का SID पुनर्प्राप्त करें और SID को सभी अनुमतियाँ असाइन करें क्योंकि लोग शादी कर लेते हैं और उपयोगकर्ता नाम बदल सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.