Construire son application web de gestion de contenu d'annuaire LDAP
-
Upload
oudot-clement -
Category
Technology
-
view
2.573 -
download
1
description
Transcript of Construire son application web de gestion de contenu d'annuaire LDAP
![Page 1: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/1.jpg)
Construire son application web de gestion de contenu d’annuaire LDAP Clément OUDOT
RMLL 10 juillet 2012–
![Page 2: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/2.jpg)
2
Sommaire● Les annuaires LDAP● Les interfaces● Présentation de LinID Directory Manager
![Page 3: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/3.jpg)
3
Présentation
![Page 4: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/4.jpg)
4
Clément OUDOT● Administrateur LDAP depuis 2003 à LINAGORA● LinID Dream Team Manager : http://linid.org ● Leader du projet LDAP Tool Box :
http://ltb-project.org ● Leader du projet LemonLDAP::NG :
http://lemonldap-ng.org
![Page 5: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/5.jpg)
5
Les annuaires LDAP
![Page 6: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/6.jpg)
6
Le protocole LDAP● Protocole défini par des standards (RFC)● LDAPv2 en 1995, LDAPv3 en1997● TCP/IP, LBER, ASN1 ● 9 opérations unitaires et possibilités d'extension● Schéma définissant les classes d'objet, les
attributs, les syntaxes et les règles de comparaison
● Organisation des données en arbre
![Page 7: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/7.jpg)
Flux LDAP
Client Annuaire
Connexion
Authentification
Authentification réussie
Recherche
Résultat de la recherche
Modification d'une entrée
Erreur lors de la modification
Ajout d'une entrée
Entrée ajoutée
Déconnexion
![Page 8: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/8.jpg)
8
Directory Information Tree
dc=linid,dc=org
ou=people ou=groupsou=structures
uid=coudot cn=admin
![Page 9: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/9.jpg)
Entrée / Attribut / Valeur
Attribut Attribut
AttributAttribut
Entrée
Attribut
Valeur
Valeur
Valeur
![Page 10: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/10.jpg)
Quelques implémentations serveurUniversité
du Michigan
Netscape Directory
Server
OpenLDAP
Novell eDirectory Microsoft
Active Directory
IBMCriticalPath
Propriétaires Libres
SUN Directory
Server
Oracle Directory
Server
OpenDS
ApacheDS
OpenDJ
RedHat Directory
Server
Fedora Directory
Server
Port 389
![Page 11: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/11.jpg)
Exemples d'usage● Infrastructure :
● Référentiel d'authentification● Gestion des machines, des comptes SUDO
● Sécurité :● Référentiel d'authentification et d'autorisation● Stockage des certificats
● Utilisateur :● Pages blanches, pages jaunes● Intranet, carnet d'adresse
![Page 12: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/12.jpg)
12
Les interfaces
![Page 13: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/13.jpg)
13
Les outils d'administration● Ligne de commande, console :
● ldapsearch, ldapmodify● ldapvi● Scripts Perl (Net::LDAP)
● Clients lourds :● Jxplorer, LDAP browser● Apache Directory Studio
● Interfaces Web :● phpLDAPadmin● web2ldap
![Page 14: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/14.jpg)
14
Apache Directory Studio
![Page 15: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/15.jpg)
15
Les interfaces de gestion● Dans le monde propriétaire :
● Calendra Directory Manager (Calendra)● Meibo (Ilex)● Certains Identity Manager (Oracle, Novell, etc.)
● En logiciel libre :● LDAP Account Manager● ldapSaisie● Fusion Directory● LinID Directory Manager● OpenIDM (ForgeRock)
● En majorité : des développements spécifiques
![Page 16: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/16.jpg)
16
Fonctionnalités attendues● Conception des écrans (modèles HTML)● Afficheur et éditeur de valeurs adaptés à chaque
type d'attribut● Choix des libellés, internationalisation● Délégation de gestion, modèle d'autorisation par
profils● Flux métiers● Respect du DIT initial● Gestion des photos, navigation contextuelle, etc.
![Page 17: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/17.jpg)
17
LinID Directory Manager
![Page 18: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/18.jpg)
18
Historique● Développements initiés à l'UPMC en 2002,
d'abord en PHP puis en Java, sous le nom MetaLDAP
● Publication en Open Source sous le nom InterLDAP en 2003, devient projet ObjectWeb en 2006 dans le cadre de FederID
● Création de l'offre LinID en 2008, et renommage en LinID Content Manager puis LinID Directory Manager, hébergé sur la forge LinID chez LINAGORA
![Page 19: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/19.jpg)
19
Couches logicielles● LinID Directory Manager est un framework Web
construit sur :● Tapestry 5● Spring, Spring LDAP● Maven● Xstream● Rhino● Ehcache
![Page 20: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/20.jpg)
20
Architecture technique● Schéma enrichi :
● Reprend et surcharge le schéma technique LDAP● Ajoute des propriétés comme les libellés, les listes de
valeurs, les recherches autorisées...
● Autorisations :● Utilisation de règles implémentées dans l'interface avec le
langage LQL (LDAP Query Language)● Possibilité de s'appuyer sur les droits côté annuaire LDAP
avec des contrôles étendus comme Get Effective Rights
● Dépôt d'entrées :● Modélisation Java des entrées LDAP et des paramètres du
schéma enrichi, filtrées par la couche autorisation
![Page 21: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/21.jpg)
21
Tester LinID Directory Manager● Une application des démonstration est fournie
avec le framewok (sample)● L'application embarque un annuaire OpenDS avec
quelques données de test, dont deux utilisateurs :● jdoe/secret : administrateur● jsmith/secret : utilisateur
● Possibilité de déployer dans Tomcat ou Jetty● Démarrage depuis le SVN :
$ mvn -Popends jetty:run
![Page 22: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/22.jpg)
22
Page de démarrage de la démonstration
![Page 23: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/23.jpg)
23
Créer sa propre application de gestion● Une phase d'étude préalable :
● Modèle de données● Profils de droits● Choix des écrans
● Copie de l'application de démonstration et import dans Eclipse
● Génération du schéma enrichi (script Perl fourni: eschemaGenerator.pl)
● Édition XML : schéma enrichi, règles LQL● Adaptation des écrans
![Page 24: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/24.jpg)
24
Exemples de réalisation
![Page 25: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/25.jpg)
25
Exemples de réalisation
![Page 26: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/26.jpg)
26
Exemples de réalisation
![Page 27: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/27.jpg)
27
Exemples de réalisation
Présentation de LinID OpenLDAP Manager en conférence jeudi 12 juillet !
![Page 28: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/28.jpg)
28
La fin est proche...
![Page 29: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/29.jpg)
29
Merci● Merci :
● RMLL et les organisateurs de la session● Société LINAGORA
● Restons en contact :● Identica: @coudot● Twitter: @clementoudot @LinID_FOSS ● IRC: KPTN #LinID@freenode
![Page 30: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/30.jpg)
30
Questions ?
![Page 31: Construire son application web de gestion de contenu d'annuaire LDAP](https://reader035.fdocuments.net/reader035/viewer/2022081413/5478b3cbb4795983098b4567/html5/thumbnails/31.jpg)
Merci de votre attention
http://www.linid.org
Logiciels et services Open Source80 rue Roque de Fillol l 92800 PUTEAUXTel : 0810 251 251 l Fax : +33 1 46 96 63 64www.linagora.com