Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # LDAP is case-insensitive hence no need to normalize username here
- def authenticate_ldap(username, password):
- username = ldap.filter.escape_filter_chars(username)
- password = ldap.filter.escape_filter_chars(password) # May cause problem with some passwords. Please test this.
- base_dn = settings.LDAP_CURRENT_YEAR_DN
- user_filter = "uid=" + username
- user_dn = ",".join([user_filter, base_dn])
- connect = ldap.initialize(settings.LDAP_URI)
- try:
- # if authentication successful, return the full user data
- connect.bind_s(user_dn, password)
- result = connect.search_s(base_dn, ldap.SCOPE_SUBTREE, user_filter)
- connect.unbind_s()
- if len(result) == 1:
- return result[0]
- else:
- return False
- except ldap.LDAPError:
- connect.unbind_s()
- return False
- chs = ['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m']
- chl = ['Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M']
- chn = ['0','1','2','3','4','5','6','7','8','9']
- chsp = ['!','(',')','-','.','_','`','~','@','#']
Add Comment
Please, Sign In to add comment