Configuration JBoss Portal : Authentification sur le portail avec LDAP (1)
Par Emmanuel le mardi 1 avril 2008, 16:47 - JBoss - Lien permanent
1- Installation du serveur OpenLDAP (réalisée sur windows)
a) Edition du fichier de conf : sladp.conf
b) Lancement du serveur
c) Test du serveur
d) Alimentation initiale de l'annuaire
e) Installation du client LDAP Browser/Editor 2.8.1
2- Création de l'annuaire
1- Installation du serveur OpenLDAP (réalisée sur windows)
Basée sur : http://mguessan.free.fr/nt/openldap.html Dossier d'installation : C:\openldap
a) Edition du fichier de conf : sladp.conf
- schémas : Spécifier les schémas LDAP utilisés, un schéma définit la structure de l'annuaire, un peu comme les tables et les colonnes pour une base de données. Le schéma core est indispensable, ajouter le schéma java si le serveur doit être utilisé comme annuaire JNDI.
--> Ajout de include ./schema/java.schema
Ajouter aussi les schémas suivant dans cet ordre (ils permettent de créer d'autres objets, entre autre inetOrgPerson) :
include ./schema/cosine.schema
include ./schema/inetorgperson.schema
- suffixe du serveur : il représente la racine LDAP du serveur.
--> suffix "dc=lapindream,dc=com"
- nom de l'entrée administrateur du serveur : C'est le super-utilisateur du serveur. La valeur de rootdn doit être en accord avec le suffixe.
--> rootdn "cn=Manager,dc=lapindream,dc=com"
- le mote de passe :
--> rootpw secret
b) Lancement du serveur
On double clique sur slapd.exe ou dans une console : slapd -d 1 pour avoir les logs debug. Ne pas fermer la fenêtre !!!
c) Test du serveur
Dans une nouvelle console, taper : ldapsearch -x -s base (objectclass=*) namingContexts
Des informations sur le serveur ldap sont affichées, entre autre le suffix :
dn:namingContexts: dc=lapindream,dc=com
d) Alimentation initiale de l'annuaire
Créer un fichier init.ldif dans le dossier d'installation d'openldap :
dn: dc=lapindream,dc=com objectclass: top objectclass: dcObject objectclass: organization o: Lapindream dc: lapindream
dn: cn=Manager,dc=lapindream,dc=com objectclass: organizationalRole cn: Manager
On charge le fichier en tapant la commande : slapadd -f slapd.conf -l init.ldif
Puis on redémarre le serveur.
e) Installation du client LDAP Browser/Editor 2.8.1
http://www-unix.mcs.anl.gov/~gawor/ldap/download.html
Dézipper et lancer lbe.bat.
Configurer la connexion :
2- Création de l'annuaire
Nous allons suivre l'exemple fournit avec la doc de jboss portal, 19.4.1.
Keeping users membership in role entries : http://docs.jboss.com/jbportal/v2.6.3/referenceGuide/html_single/#ldap
Au final nous voulons avoir l'arborescence suivante :
a) Les utilisateurs
Tout d'abord on créer un fichier jboss_user.ldif, dans le dossier d'install d'openldap. Dans ce fichier nous définissons un noeud Personnes. Puis nous créons 3 utilisateurs rattachés à ce noeud :
dn: ou=Personnes,dc=lapindream,dc=com objectclass: top objectclass: organizationalUnit ou: Personnes dn: uid=user,ou=Personnes,dc=lapindream,dc=com objectclass: top objectclass: inetOrgPerson objectclass: person uid: user cn: JBoss Portal user sn: user userPassword: user mail: user@email.com dn: uid=admin,ou=Personnes,dc=lapindream,dc=com objectclass: top objectclass: inetOrgPerson objectclass: person uid: admin cn: JBoss Portal admin sn: admin userPassword: admin mail: admin@email.com dn: uid=minimarmotte,ou=Personnes,dc=lapindream,dc=com objectclass: top objectclass: inetOrgPerson objectclass: person uid: minimarmotte cn: Emmanuel Pierre sn: minimarmotte userPassword: mini mail: minimarmotte@gmail.com
Note :
- chaque enregistrement dans le fichier est séparé du précédent et du suivant par une ligne vierge,
- les espaces sont pris en compte. ATTENTION, il est très important qu'il n'y ait aucun espace en fin de ligne. Dans ce cas vous risqueriez d'obtenir une erreur du style
ldap_add: Invalid syntax (21) additional info: objectClass: value #0 invalid per syntax
Pour charger ce fichier nous utilisons une autre commande ldapadd. Il n'est pas nécessaire de redémarrer le serveur.
Commande pour ajouter des entrées dans l'annuaire (le mot de passe sera demandé) : ldapadd -D "cn=Manager, dc=lapindream,dc=com" -W -f jboss_user.ldif
Si tout ce passe bien, on a le message suivant :
adding new entry "ou=Personnes,dc=lapindream,dc=com" adding new entry "uid=user,ou=Personnes,dc=lapindream,dc=com" adding new entry "uid=admin,ou=Personnes,dc=lapindream,dc=com" adding new entry "uid=minimarmotte,ou=Personnes,dc=lapindream,dc=com"
On peut alors vérifier dans LDAP BROWSER le bon déroulement de l'opération après un petit rafraichissement.
b) Les roles
Nous allons de même définir des roles dans un fichier jboss_roles.ldif
dn: ou=Roles,dc=lapindream,dc=com objectclass: top objectclass: organizationalUnit ou: Roles dn: cn=User,ou=Roles,dc=lapindream,dc=com objectClass: top objectClass: groupOfNames cn: User description: the JBoss Portal user group member: uid=user,ou=Personnes,dc=lapindream,dc=com member: uid=minimarmotte,ou=Personnes,dc=lapindream,dc=com dn: cn=Admin,ou=Roles,dc=lapindream,dc=com objectClass: top objectClass: groupOfNames cn: Admin description: the JBoss Portal admin group member: uid=admin,ou=Personnes,dc=lapindream,dc=com
On charge les roles : ldapadd -D "cn=Manager, dc=lapindream,dc=com" -W -f jboss_roles.ldif
On a définit 2 roles : User et Admin. Les personnes user et minimarmotte ont comme role User. La personne admin a pour role Admin.
Suite : Configuration JBoss Portal : Authentification sur le portail avec LDAP (2)