Si vous essayez de vous connecter à un serveur LDAP recent (version 3 du protocole LDAP), il se peut que votre connexion à LDAP ne se fasse pas. Dans ce cas, effectuez l’installation de SPIP avec LDAP comme d’habitude, puis éditez le fichier ecrire/inc_connect.php3 et remplacez la fonction spip_connect_ldap par celle-ci :
function spip_connect_ldap() {
/* Connexion au serveur LDAP */
if (!$GLOBALS['ldap_link'] = @ldap_connect("<nom_du_serveur>","389")) {
die("Impossible de trouver le serveur LDAP.<br>\n");
}
/* !! Spécifier à PHP d'utiliser la version 3 du protocole !! */
@ldap_set_option( $GLOBALS['ldap_link'], LDAP_OPT_PROTOCOL_VERSION, 3 );
/* Ouverture d'une session sur la connexion en cours */
if (!@ldap_bind($GLOBALS['ldap_link'])) {
die("Connexion LDAP : Echec. Essayez de raffraichir cette page.<br>\n");
}
return $GLOBALS['ldap_link'];
}
En remplaçant <nom_du_serveur>
par le host de votre serveur (copier/coller de l’ancienne fonction).
Si le bind ne fonctionne pas la première fois (message « Connexion LDAP : Echec... »), raffraichissez.
Remarque : si vous vous connectez à un serveur LDAP qui utilise la version 3 du protocole, vous devez utiliser une version recente du module LDAP pour PHP. La version fournie par EasyPHP 1.6, par exemple, ne fonctionne pas.
Discussions par date d’activité
4 discussions
Une erreur s’est glissée dans la fonction ci-dessus :
la ligne
doit devenir
pour que cela fonctionne.
Corrigé, merci !
Répondre à ce message
Bonjour,
Je viens d’installer SPIP 1.92d sur notre serveur intranet et decide d’utiliser Ldap.
L’installation de ldap s’est bien passe mais, excusez-moi mon ignorance, je ne vois aucune difference. Comment faire pour activer l’authentification (afficher le formulaire login/password) ? Faut-il que je modifie qqch dans le squelette ?
Merci beaucoup !
Répondre à ce message
Bonjour,
avec cette modification, l’identification LDAP marche de nouveau sur le site intranet de mon association.
Merci !
Répondre à ce message
A noter qu’il est nécessaire, dans le cas d’un annuaire LDAP de type Active Directory tournant sous Windows Server 2003, d’utiliser en supplément le paramètre suivant :
@ldap_set_option($GLOBALS['ldap_link'], LDAP_OPT_REFERRALS, 0);
Sous peine d’avoir droit à des erreurs de type « Operations error » via ldap_error.
Ma connexion au LDAP, fonctionne , néanmoins il me répond toujours password erroné !
????
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |