Openldap
Bonjour,
J'aimerai faire un recherche d'un utilisateur qui est dans un groupe et où ce groupe à des roles.
1. Comment affecter des roles à un groupe.
2.Comment afficher via un ldapsearch les roles d'un utilisateurs ?
Exemple:
ou=roles
cn=role1
cn=role2
ou=groups
cn=group1 (affecter à role1)
cn=group2
ou=users
cn=user1 (affecter au groupe 1)
cn=user2
si je chercher cn=user1 j'aimerai avoir cn=role1.
Merci de votre aide
Chris
J'aimerai faire un recherche d'un utilisateur qui est dans un groupe et où ce groupe à des roles.
1. Comment affecter des roles à un groupe.
2.Comment afficher via un ldapsearch les roles d'un utilisateurs ?
Exemple:
ou=roles
cn=role1
cn=role2
ou=groups
cn=group1 (affecter à role1)
cn=group2
ou=users
cn=user1 (affecter au groupe 1)
cn=user2
si je chercher cn=user1 j'aimerai avoir cn=role1.
Merci de votre aide
Chris
A voir également:
- Openldap
- Openldap client for windows - Télécharger - Édition & Programmation
1 réponse
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