Bonjour tous le monde
j'ai crée un code qui fonctionne bien et qui me permet de m’authentifier sur un serveur AD, et me retourner les infos de l'utilisateur authentifier.
mais mon problème maintenant c'est comment extraire les informations qui ne sont pas organisée (CN, mail...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 import ldap import getpass # get login info username = raw_input("Enter your username: ") password = getpass.getpass("Enter your password: ") ldap_server = "ldap://zirgus.localdomaine.com" base_dn = "DC=localdomaine,DC=com" user_dn = username + "@localdomaine.com" search_filter = "(&(objectClass=*)(sAMAccountName=" + username + "))" ld = ldap.initialize(ldap_server); #ld = ldap.open(ldap_server) ld.protocol_version = 3 ld.set_option(ldap.OPT_REFERRALS, 0) # bind user information to ldap connection try: print ld.simple_bind_s(user_dn, password) msgid = ld.search(base_dn, ldap.SCOPE_SUBTREE, search_filter,["cn"]) actual_result = ld.result(msgid) # print msgid print actual_result ld.unbind_s() except ldap.INVALID_CREDENTIALS: print "Your username or password is invalid." except Exception as e: print("Connection unsuccessful: " + str(e.message)) ld.unbind_s()
résultat de la requête search:
Merci(101, [("CN=Abdou ISMAILI,OU=Users,OU=Infrastructure,OU=Syst\xc3\xa8mes d'Information Et organisation,DC=localdomaine,DC=com", {'cn': ['Abdou ISMAILI']}), (None, ['ldap://DomainDnsZones.localdomaine.com/DC=DomainDnsZones,DC=localdomaine,DC=com']), (None, ['ldap://ForestDnsZones.localdomaine.com/DC=ForestDnsZones,DC=localdomaine,DC=com']), (None, ['ldap://localdomaine.com/CN=Configuration,DC=localdomaine,DC=com'])])
Partager