ldap_check.py needs python-ldap module! Code taken from http://homepage.mac.com/mengelhart/python-ldap-samples.html
import ldap
def ldap_check(user, passw):
try:
l = ldap.open("127.0.0.1", 389)
# you should set this to ldap.VERSION2 if you're using a v2 directory
l.protocol_version = ldap.VERSION3
# Pass in a valid username and password to get
# privileged directory access.
# If you leave them as empty strings or pass an invalid value
# you will still bind to the server but with limited privileges.
cut = 0
for c in range(1,len(user)):
if user[c].isupper():
cut = c
user = user[:cut] + " " + user[cut:]
username = "cn=" + user + ", ou=people, dc=..., dc=..."
password = passw
# Any errors will throw an ldap.LDAPError exception
# or related exception so you can ignore the result
result = l.simple_bind_s(username, password)
if (result == None):
return True
else:
return False
except ldap.LDAPError, e:
# print e
# handle error however you like
return FalseThis function will take two arguments: username and password. It then cuts the username at the second uppercase letter and pastes it into a new string with a space: "SebastianBreier" (wikiname) becomes "Sebastian Breier" (ldap commonname). Then it tries to do a simple bind to the ldap server using the username and password (fill in the bind fields in username!). It should return False on all errors, and if the username/password was wrong. It will return true, if everything worked out.
