Openldap
Fermé
Kris
-
27 févr. 2017 à 14:14
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 mars 2017 à 09:52
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 1 mars 2017 à 09:52
A voir également:
- Openldap
- Openldap windows client - Télécharger - Édition & Programmation
1 réponse
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
1 mars 2017 à 09:52
1 mars 2017 à 09:52
Bonjour,
Je dirais que les deux questions dépendent de la manière dont tu organises ton LDAP.
Sur un LDAP que j'ai récupéré, il y a un typiquement un "dossier" d'utilisateurs (e.g.
Chaque groupe contient une liste d'uids (attribut
Exemple en python3 :
Installation : sous debian :
Code :
Bonne chance
Je dirais que les deux questions dépendent de la manière dont tu organises ton LDAP.
Sur un LDAP que j'ai récupéré, il y a un typiquement un "dossier" d'utilisateurs (e.g.
ou=users,dc=boite,dc=fr) et de groupes(e.g.
ou=groups,dc=boite,dc=fr). Chaque utilisateur correspond à un feuille (e.g.
uid=toto,ou=users,dc=boite,dc=fr), de même que chaque groupe (e.g.
cn=admins,ou=groups,dc=boite,dc=fr).
Chaque groupe contient une liste d'uids (attribut
members). Du coup pour savoir à quels groupe(s) appartient un utilisateur, je dois dans mon cas récupérer les groupes et extraires ceux qui correspondent à l'uid.
Exemple en python3 :
Installation : sous debian :
sudo apt-get update
sudo apt-get install python3 python3-ldap3
Code :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import sys from pprint import pprint from ldap3 import Server, Connection, SUBTREE, ALL LDAP_UID = "xxxxx" LDAP_PASSWORD = "xxxxxxx" LDAP_USE_SSL = False LDAP_HOST = "ldap.boite.fr" LDAP_DN_USER = "ou=users,dc=boite,dc=fr" LDAP_USER = "uid=%s,%s" % (LDAP_UID, LDAP_DN_USER) def test_ldap(ldap_host, ldap_user, ldap_password, ldap_use_ssl): ldap_server = Server( ldap_host, use_ssl = ldap_use_ssl, get_info = ALL ) ldap_conn = Connection( ldap_server, ldap_user, ldap_password ) ldap_conn.bind() ldap_conn.search( "ou=groups,dc=boite,dc=fr", "(cn=admins)", search_scope = SUBTREE, attributes = ["member"] ) ret = ldap_conn.response ldap_conn.unbind() return ret if __name__ == '__main__': ret = test_ldap(LDAP_HOST, LDAP_USER, LDAP_PASSWORD, LDAP_USE_SSL) pprint(ret) sys.exit(0)
Bonne chance