का उपयोग कर रहे का उपयोग कर Django प्रमाणीकरण LDAPDjango प्रमाणीकरण एलडीएपी - प्रत्यक्ष बाइंड sAMAccountName
- खोज/बाइंड और
- प्रत्यक्ष बाइंड एक उपयोगकर्ता को प्रमाणित करने के लिए दो तरीके हैं।
पहला व्यक्ति एलडीएपी सर्वर से गुमनाम रूप से या एक निश्चित खाते से कनेक्ट हो रहा है और प्रमाणीकरण उपयोगकर्ता के विशिष्ट नाम की खोज कर रहा है। फिर हम उपयोगकर्ता के पासवर्ड से फिर से बांधने का प्रयास कर सकते हैं।
दूसरा तरीका उपयोगकर्ता के डीएन को अपने उपयोगकर्ता नाम से प्राप्त करना है और उपयोगकर्ता को सीधे बाध्य करने का प्रयास करना है।
मैं उपयोगकर्ता आईडी (sAMAccountName) और उपयोगकर्ता के पासवर्ड का उपयोग कर सीधे बाध्य करने में सक्षम होना चाहता हूं जो एप्लिकेशन तक पहुंच प्राप्त करने का प्रयास कर रहा है। अगर यह हासिल करने का कोई तरीका है तो कृपया मुझे बताएं? फिलहाल, मैं नीचे बताई गई समस्या के कारण यह काम नहीं कर सकता।
मेरे मामले में, LDAP में उपयोगकर्ताओं का डी एन निम्न स्वरूप
**'CN=Steven Jones,OU=Users,OU=Central,OU=US,DC=client,DC=corp'**
यह मूलतः 'सीएन = प्रथम नाम अंतिम नाम, OU = उपयोगकर्ता, OU करने के लिए अनुवाद की है = मध्य, OU = अमेरिका, डीसी = ग्राहक, डीसी = कॉर्प '
यह sjones प्रत्यक्ष बाइंड sAMAccountName उपयोगकर्ता की के रूप में उपयोग करने से मुझे रोक रहा है और इस पैरामीटर है कि उपयोगकर्ता नाम (% उपयोगकर्ता) से मेल खाती है और मैं नहीं कर सकता उचित AUTH_LDAP_USER_DN_TEMPLAT को फ्रेम करने का तरीका निकालें उपयोगकर्ता के डीएन का उपयोग करने के लिए ई।
ऊपर बताया गया है समस्या के कारण, मैं खोज/बाइंड उपयोग कर रहा हूँ अब के लिए, लेकिन यह मुझे एक निश्चित उपयोगकर्ता क्रेडेंशियल AUTH_LDAP_BIND_DN और AUTH_LDAP_BIND_PASSWORD में निर्दिष्ट किया जा करने के लिए की आवश्यकता है।
यहाँ मेरे वर्तमान settings.py विन्यास
AUTH_LDAP_SERVER_URI = "ldap://10.5.120.161:389"
AUTH_LDAP_BIND_DN='CN=Steven Jones,OU=Users,OU=Central,OU=US,DC=client,DC=corp'
AUTH_LDAP_BIND_PASSWORD='fga.1234'
#AUTH_LDAP_USER_DN_TEMPLATE = 'CN=%(user)s,OU=Appl Groups,OU=Central,OU=US,DC=client,DC=corp'
AUTH_LDAP_USER_SEARCH = LDAPSearchUnion(
LDAPSearch("OU=Users, OU=Central,OU=US,DC=client,DC=corp",ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
LDAPSearch("OU=Users,OU=Regional,OU=Locales,OU=US,DC=client,DC=corp",ldap.SCOPE_SUBTREE, "(sAMAccountName=%(user)s)"),
)
AUTH_LDAP_USER_ATTR_MAP = {"first_name": "givenName", "last_name": "sn","email":"mail"}
AUTH_LDAP_GROUP_SEARCH = LDAPSearch("CN=GG_BusinessApp_US,OU=Appl Groups,OU=Central,OU=US,DC=client,DC=corp",ldap.SCOPE_SUBTREE, "(objectClass=groupOfNames)")
AUTH_LDAP_GROUP_TYPE = GroupOfNamesType()
AUTH_LDAP_REQUIRE_GROUP = 'CN=GG_BusinessApp_US,OU=Appl Groups,OU=Central,OU=US,DC=client,DC=corp'
यहाँ में अद्भुत लोगों से कुछ मार्गदर्शन के लिए आगे देख रहे हैं।
धन्यवाद @amethystdragon ऐसा लगता है कि यह मेरी समस्या का समाधान करेगा। मैं इसे जल्द ही कोशिश करूंगा। – Guddu