Intégration de LDAP dans Openfire
Wildfire permet d'utiliser un annuaire LDAP pour :
- authentifier les utilisateurs.
- stocker les groupes
- déterminer les groupes d'appartenance d'un utilisateur.
La configuration de la partie LDAP ne se fait pas via la console d'administration, mais en modifiant le fichier conf/wildfire.conf.
<ldap> <host>localhost</host> <port>389</port> <usernameField>uid</usernameField> <nameField>cn</nameField> <emailField>mail</emailField> <baseDN>dc=mycompany</baseDN> <adminDN>uid=jive,ou=people,dc=mycompany</adminDN> <adminPassword>password</adminPassword> <groupNameField>cn</groupNameField> <groupMemberField>member</groupMemberField> <groupDescriptionField>description</groupDescriptionField> <groupSearchFilter>(member={0})</groupSearchFilter> <posixMode>false</posixMode> <clientSideSorting>true</clientSideSorting> <debugEnabled>true</debugEnabled> <connectionPoolEnabled>false</connectionPoolEnabled> </ldap> <provider> <user> <className>org.jivesoftware.wildfire.ldap.LdapUserProvider</className> </user> <auth> <className>org.jivesoftware.wildfire.ldap.LdapAuthProvider</className> </auth> <group> <className>org.jivesoftware.wildfire.ldap.LdapGroupProvider</className> </group> </provider>
Configuration de la gestion des utilisateurs
Il faut indiquer :
- host : la machine sur laquelle votre annuaire LDAP tourne.
- port : le port de l'annuaire.
- usernameField : le champs dans l'objet utilisateur qui sera utilisé comme identifiant de l'utilisateur.
- nameField : le champs qui ldap qui contient le nom de la personne.
- emailField : le nom du champs ldap qui contient l'email de la personne.
- baseDN : le dn de base pour les recherches.
- adminDN : le dn du compte qui sera utilisé comme compte administrateur de Wildfire.
- adminPassword : mot de passe du compte administrateur.
Il faut aussi ajouter le provider qui permet d'accèder à l'annuaire pour la partie gestion des utilisateur :
<user> <className>org.jivesoftware.wildfire.ldap.LdapUserProvider</className> </user>
Configuration de l'authentification
Elle est activée via l'ajout de cette ligne :
<auth> <className>org.jivesoftware.wildfire.ldap.LdapAuthProvider</className> </auth>
Configuration de la gestion des groupes
Wildfire peut aller chercher la liste des groupes depuis un annuaire LDAP. Une fois l'utilisateur authentifié, Wildfire requête l'annuaire pour savoir à quel(s) groupe(s) la personne appartient.
- groupNameField : le champs qui contient le nom du groupe
- groupMemberField : le champs qui indique les personnes appartenant au groupe.
- groupDescriptionField : le champs qui contient la description du groupe.
- groupSearchFilter : filtre de recherche d'un utilisateur dans un groupe.
- posixMode : true si l'utilisateur est stocké sous forme de DN dans l'attribut groupMemberField du groupe. False s'il est juste stocké par son groupNameField.
Il faut aussi ajouter le provider qui permet d'accèder à l'annuaire pour la recherche des groupes :
<user> <className>org.jivesoftware.wildfire.ldap.LdapGroupProvider</className> </user>
Filtres sur les groupes
Le champs groupSearchFilter permet de filtrer les recherches dans l'annuaire.
Autres paramètres
- clientSideSorting : indique si la buddy list de l'utilisateur doit être triée ou pas.
- debugEnabled : si à true, le mode debug est activé. Les traces sont stockées dans le fichier log/debug.log
- connectionPoolEnabled : si à true, indique qu'on utilise un pool de connexions pour accèder à l'annuaire, au lieu d'une seule connexion.