« Intégration de LDAP dans Openfire » : différence entre les versions
(Description des param�tres de connexion � l'annuaire) |
(s/wildfire/openfire/ + ortho) |
||
(7 versions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ | {{Tutoriels_serveur|Openfire}} | ||
__TOC__ | __TOC__ | ||
Openfire permet d'utiliser un annuaire LDAP pour : | |||
* authentifier les utilisateurs. | * authentifier les utilisateurs. | ||
* stocker les groupes | * stocker les groupes | ||
* déterminer les groupes d'appartenance d'un utilisateur. | * 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/ | La configuration de la partie LDAP ne se fait pas via la console d'administration, mais en modifiant le fichier conf/openfire.conf. | ||
<!-- Note, for Active Directory, try usernameField=sAMAccountName, nameField=displayName, | <!-- Note, for Active Directory, try usernameField=sAMAccountName, nameField=displayName, | ||
Ligne 32 : | Ligne 32 : | ||
<provider> | <provider> | ||
<user> | <user> | ||
<className>org.jivesoftware. | <className>org.jivesoftware.openfire.ldap.LdapUserProvider</className> | ||
</user> | </user> | ||
<auth> | <auth> | ||
<className>org.jivesoftware. | <className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className> | ||
</auth> | </auth> | ||
<group> | <group> | ||
<className>org.jivesoftware. | <className>org.jivesoftware.openfire.ldap.LdapGroupProvider</className> | ||
</group> | </group> | ||
</provider> | </provider> | ||
== Configuration de | == Configuration de la gestion des utilisateurs == | ||
Il faut indiquer : | Il faut indiquer : | ||
Ligne 54 : | Ligne 54 : | ||
* adminPassword : mot de passe du compte administrateur. | * adminPassword : mot de passe du compte administrateur. | ||
Il faut aussi ajouter le provider qui permet d' | Il faut aussi ajouter le provider qui permet d'accéder à l'annuaire pour la partie gestion des utilisateur : | ||
<user> | <user> | ||
<className>org.jivesoftware. | <className>org.jivesoftware.openfire.ldap.LdapUserProvider</className> | ||
</user> | </user> | ||
== Configuration de l'authentification == | |||
Elle est activée via l'ajout de cette ligne : | |||
<auth> | |||
<className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className> | |||
</auth> | |||
== Configuration de la gestion des groupes == | == Configuration de la gestion des groupes == | ||
Openfire peut aller chercher la liste des groupes depuis un annuaire LDAP. | |||
Une fois l'utilisateur authentifié, | Une fois l'utilisateur authentifié, Openfire requête l'annuaire pour savoir à quel(s) groupe(s) la personne appartient. | ||
* groupNameField : le champs qui contient le nom du groupe | * groupNameField : le champs qui contient le nom du groupe | ||
Ligne 70 : | Ligne 78 : | ||
* 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. | * 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' | Il faut aussi ajouter le provider qui permet d'accéder à l'annuaire pour la recherche des groupes : | ||
<user> | <user> | ||
<className>org.jivesoftware. | <className>org.jivesoftware.openfire.ldap.LdapGroupProvider</className> | ||
</user> | </user> | ||
Ligne 78 : | Ligne 86 : | ||
Le champs groupSearchFilter permet de filtrer les recherches dans l'annuaire. | Le champs groupSearchFilter permet de filtrer les recherches dans l'annuaire. | ||
== Stockage de la vCard dans l'annuaire == | |||
Par défaut, les vcards sont stockées dans la base de données de openfire. Il est possible récupérer les informations nécessaire à celle-ci depuis l'annuaire LDAP. | |||
Dans le fichier de configuration, ajoutez le LdapVCardProvider | |||
<vcard> | |||
<className>org.jivesoftware.openfire.ldap.LdapVCardProvider</className> | |||
</vcard> | |||
puis les informations de mapping : | |||
<vcard-mapping><![CDATA[ | |||
<vCard xmlns="vcard-temp"> | |||
<N> | |||
<GIVEN>{cn}</GIVEN> | |||
</N> | |||
<EMAIL> | |||
<INTERNET/> | |||
<USERID>{mail}</USERID> | |||
</EMAIL> | |||
<FN>{displayName}</FN> | |||
<NICKNAME>{uid}</NICKNAME> | |||
<ADR> | |||
<HOME/> | |||
<STREET>{homePostalAddress}</STREET> | |||
</ADR> | |||
<ADR> | |||
<WORK/> | |||
<STREET>{postalAddress}</STREET> | |||
<LOCALITY>{l}</LOCALITY> | |||
<REGION>{st}</REGION> | |||
<PCODE>{postalCode}</PCODE> | |||
</ADR> | |||
<TEL> | |||
<HOME/> | |||
<VOICE/> | |||
<NUMBER>{homePhone}</NUMBER> | |||
</TEL> | |||
<TEL> | |||
<WORK/> | |||
<VOICE/> | |||
<NUMBER>{telephoneNumber}</NUMBER> | |||
</TEL> | |||
<TEL> | |||
<WORK/> | |||
<CELL/> | |||
<NUMBER>{mobile}</NUMBER> | |||
</TEL> | |||
<TEL> | |||
<WORK/> | |||
<PAGER/> | |||
<NUMBER>{pager}</NUMBER> | |||
</TEL> | |||
<TITLE>{title}<ORG> | |||
<ORGUNIT>{departmentNumber}</ORGUNIT> | |||
</ORG> | |||
</vCard>]]></vcard-mapping> | |||
</TITLE> | |||
Bien sûr vous pouvez choisir d'ajouter ou d'enlever des paramètres en fonction des informations qui doivent être vues par les utilisateurs. | |||
== Autres paramètres == | == Autres paramètres == | ||
* clientSideSorting : indique si la buddy list de l'utilisateur doit être triée ou pas. | * 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 | * 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 | * connectionPoolEnabled : si à true, indique qu'on utilise un pool de connexions pour accéder à l'annuaire, au lieu d'une seule connexion. | ||
== Liens externes == | |||
* [http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/ldap-guide.html Openfire et LDAP] | |||
[[Catégorie:Tutoriel]] |
Dernière version du 4 mai 2007 à 19:24
Openfire 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/openfire.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.openfire.ldap.LdapUserProvider</className> </user> <auth> <className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className> </auth> <group> <className>org.jivesoftware.openfire.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.openfire.ldap.LdapUserProvider</className> </user>
Configuration de l'authentification
Elle est activée via l'ajout de cette ligne :
<auth> <className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className> </auth>
Configuration de la gestion des groupes
Openfire peut aller chercher la liste des groupes depuis un annuaire LDAP. Une fois l'utilisateur authentifié, Openfire 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.openfire.ldap.LdapGroupProvider</className> </user>
Filtres sur les groupes
Le champs groupSearchFilter permet de filtrer les recherches dans l'annuaire.
Stockage de la vCard dans l'annuaire
Par défaut, les vcards sont stockées dans la base de données de openfire. Il est possible récupérer les informations nécessaire à celle-ci depuis l'annuaire LDAP.
Dans le fichier de configuration, ajoutez le LdapVCardProvider
<vcard> <className>org.jivesoftware.openfire.ldap.LdapVCardProvider</className> </vcard>
puis les informations de mapping :
<vcard-mapping><![CDATA[ <vCard xmlns="vcard-temp"> <N> <GIVEN>{cn}</GIVEN> </N> <EMAIL> <INTERNET/> <USERID>{mail}</USERID> </EMAIL> <FN>{displayName}</FN> <NICKNAME>{uid}</NICKNAME> <ADR> <HOME/> <STREET>{homePostalAddress}</STREET> </ADR> <ADR> <WORK/> <STREET>{postalAddress}</STREET> <LOCALITY>{l}</LOCALITY> <REGION>{st}</REGION> <PCODE>{postalCode}</PCODE> </ADR> <TEL> <HOME/> <VOICE/> <NUMBER>{homePhone}</NUMBER> </TEL> <TEL> <WORK/> <VOICE/> <NUMBER>{telephoneNumber}</NUMBER> </TEL> <TEL> <WORK/> <CELL/> <NUMBER>{mobile}</NUMBER> </TEL> <TEL> <WORK/> <PAGER/> <NUMBER>{pager}</NUMBER> </TEL> <TITLE>{title}<ORG> <ORGUNIT>{departmentNumber}</ORGUNIT> </ORG> </vCard>]]></vcard-mapping> </TITLE>
Bien sûr vous pouvez choisir d'ajouter ou d'enlever des paramètres en fonction des informations qui doivent être vues par les utilisateurs.
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.