Skip to content

Instantly share code, notes, and snippets.

@femmerling
Last active June 13, 2022 17:18
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save femmerling/5097365 to your computer and use it in GitHub Desktop.
Save femmerling/5097365 to your computer and use it in GitHub Desktop.
I have to create user authentication using python-ldap. After googling around and trying out stuffs, this is the final code for you to use. Please remember to adjust the user_dn, and base_dn accordingly to the format used in your LDAP server.
# to be able to import ldap run pip install python-ldap
import ldap
if __name__ == "__main__":
ldap_server="x.x.x.x"
username = "someuser"
password= "somepassword"
# the following is the user_dn format provided by the ldap server
user_dn = "uid="+username+",ou=someou,dc=somedc,dc=local"
# adjust this to your base dn for searching
base_dn = "dc=somedc,dc=local"
connect = ldap.open(ldap_server)
search_filter = "uid="+username
try:
#if authentication successful, get the full user data
connect.bind_s(user_dn,password)
result = connect.search_s(base_dn,ldap.SCOPE_SUBTREE,search_filter)
# return all user data results
connect.unbind_s()
print result
except ldap.LDAPError:
connect.unbind_s()
print "authentication error"
@batman9326
Copy link

I am getting connect = ldap.open(ldap_server)
AttributeError: 'module' object has no attribute 'open' this error. I have ldap module installed. I am not sure what is the error.
Can you help me, please?

@chandimsett
Copy link

Use connect = ldap.initialize(ldap_server)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment