Amélioration de la prise en compte de LDAP

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

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.

Discussion

4 discussions

  • 1
    ThomasFromParis

    Une erreur s’est glissée dans la fonction ci-dessus :

    la ligne

    @ldap_set_option( $conn, LDAP_OPT_PROTOCOL_VERSION, 3 ) ;

    doit devenir

    @ldap_set_option( $GLOBALS[’ldap_link’], LDAP_OPT_PROTOCOL_VERSION, 3 ) ;

    pour que cela fonctionne.

    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

  • 1
    Heitz Alex.

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom