From: joey <> Date: Sun, 21 Nov 2004 10:22:08 +0000 (+0000) Subject: Added a routine to be used by other programs to ask for the AdminUser X-Git-Tag: debian_userdir-ldap_0-3-8~32 X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=commitdiff_plain;h=f4a76efad948fdf652f86095b43e11caf746352f Added a routine to be used by other programs to ask for the AdminUser password and check if access if granted to the LDAP server. --- diff --git a/userdir_ldap.py b/userdir_ldap.py index bdc4fcb..f60b715 100644 --- a/userdir_ldap.py +++ b/userdir_ldap.py @@ -111,6 +111,29 @@ def getpass(prompt = "Password: "): print; return passwd; +def passwdAccessLDAP(LDAPServer, BaseDn, AdminUser): + """ + Ask for the AdminUser's password and connect to the LDAP server. + Returns the connection handle. + """ + print "Accessing LDAP directory as '" + AdminUser + "'"; + while (1): + Password = getpass(AdminUser + "'s password: "); + + if len(Password) == 0: + sys.exit(0) + + l = ldap.open(LDAPServer); + UserDn = "uid=" + AdminUser + "," + BaseDn; + + # Connect to the ldap server + try: + l.simple_bind_s(UserDn,Password); + except ldap.INVALID_CREDENTIALS: + continue + break + return l + # Split up a name into multiple components. This tries to best guess how # to split up a name def NameSplit(Name):