27 lines
		
	
	
	
		
			745 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			745 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import ldap3
 | 
						|
from ldap3 import Server, Connection, ObjectDef, Reader, ALL
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
def is_valid_ldap_user(username, password):
 | 
						|
    server = Server("ldaps://ldap1.ungleich.ch")
 | 
						|
    is_valid = False
 | 
						|
 | 
						|
    try:
 | 
						|
        conn = Connection(server, 'cn={},ou=users,dc=ungleich,dc=ch'.format(username), password, auto_bind=True)
 | 
						|
        is_valid = True
 | 
						|
    except Exception as e:
 | 
						|
        print("user: {}".format(e))
 | 
						|
 | 
						|
    try:
 | 
						|
        conn = Connection(server, 'uid={},ou=customer,dc=ungleich,dc=ch'.format(username), password, auto_bind=True)
 | 
						|
        is_valid = True
 | 
						|
    except Exception as e:
 | 
						|
        print("customer: {}".format(e))
 | 
						|
 | 
						|
 | 
						|
    return is_valid
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    print(is_valid_ldap_user(sys.argv[1], sys.argv[2]))
 |