27 février 2009

WordPress 2.7 et LDAP (Active Directory)

Comme lors de l'intégration de Joomla! avec authentification LDAP, il fallait faire de même avec Wordpress, plateforme de blog bien connue.

On se rend compte alors que malgré la "norme" LDAP, ni les annuaires, ni les applications fonctionnement de la même façon. Ici nous restons avec Active Directory.

Avec Wordpress il y a le choix du plugin LDAP. Le plus simple permet une simple comparaison du login et mot de passe avec l'annuaire LDAP. Mais mon choix s'est arrêté sur wpDirAuth qui, en plus d'interroger LDAP, ajoute l'utilisateur à Wordpress lors de la première connexion de telle sorte qu'il ne soit pas nécessaire de saisir tous les utilisateurs manuellement.

Rentrons dans le vif du sujet, la version wpDirAuth 1.2 disponible sur le site Wordpress.org ne fonctionne pas avec la version 2.7 de Wordpress. Il faut aller chercher la version wpDirAuth 1.4 ou 1.3 (pas testée mais elle semble suffisante).

Une fois le plugin installé et activé, voici le paramétrage :
  1. Directory Servers : nom du serveur ou ip, s'il y en a plusieurs les séparer par une virgule. Le port par défaut est le 389, inutile de le préciser sinon l'indiquer "monserveur:666".
  2. Account Filter : laisser "samaccountname" (la casse n'a pas d'importance)
  3. Account Suffix : je n'en ai pas eu besoin, utile lorsque les noms d'utilisateur Active Directory sont de type "mail" (ex: user@domaine.com), ajouter "@mondomaine.com" permettrait aux utilisateur de ne saisir que "user" pour se logguer. Dans Active Directory (version Windows 2000) "saAMAccountname" ne contient que le nom d'utilisateur contrairement à "userPrincipalName" qui est de la forme user@domaine.com. A chacun de voir.
  4. Base DN : la chaine habituelle "dc=domaine,dc=com"
  5. Bind DN : si l'accès à votre LDAP est sécurisé, saisissez un nom d'utilisateur autorisé à y accéder. Attention : ne pas oublier le suffixe ici qui était nécessaire pour moi. Ex: administrateur@mondomaine.com.
  6. Bind Password : le mot de passe du Bind DN si nécessaire.
  7. Le reste des options n'intervient pas dans la connexion au serveur LDAP.
N'oubliez pas d'activer le module avec la toute première option : "Enable Directory Authentification?"

Les quelques sources :
http://old.ashay.org/?page_id=133
http://blog.gadodia.net/ldap-authentication-in-wordpress/

NB: pour parcourir un annuaire LDAP et découvrir ce que contiennent les champs samaccountname, userPrincipalName, ... etc, j'utilise LDAP Browser 2.6 de Softerra.

Aucun commentaire: