IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Sécurité] Authentification LDAP


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut [Sécurité] Authentification LDAP
    Bonjour,

    Je me suis mis quant à moi également au PHP, et mon appli inclut une connexion par authentification LDAP.

    Je dispose donc du serveur LDAP de l'entreprise dans laquelle je travaille et suppose donc qu'OpenLDAP n'est pas nécessaire, malgré les pré-requis préconisés dans le manuel PHP à la page LDAP.

    Seulement, malgré le succès de mon ldap_connect(), la liaison anonyme par ldap_bind() refuse obstinément de se faire... Problème de config ? De librairies ? Autre ?

    Un coup de pouce serait le bienvenu... Merci d'avance donc.

  2. #2
    Membre émérite Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Par défaut
    Je t'invite dutiliser la fonction recherche du forum car ce sujet a été traité à maintes reprises. Utilise comme mot-clé LDAP.

    Aussi si tu n'as pas de réponses satisfaisantes, montre nous ton code.

  3. #3
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Autant pour moi, j'aurais dû préciser qu'effectivement, si j'avais décidé de poster mon message, c'est que j'avais réalisé bien évidemment un minimum de recherches sur developpez.com d'une part, mais également sur Google, qui est notre ami. Un problème similaire au mien se situe ici mais aucune réponse n'y est apportée. J'ai par ailleurs mentionné également le manuel PHP qui est dans ce cas là LA référence du programmeur.

    Je soumet donc mon code à votre expertise, afin que vous y voyiez mon extrême désarroi... Petite précision, je travaille avec PHP 4.4.2, Apache 2.0.55, et Windows 2000. Comme vous pourrez le constater, il se conforme à tout ce que l'on peut trouver sur le net.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
      // Fonction de connexion au serveur LDAP
      function connect() {
        // Connexion au serveur LDAP
        $this->m_conn = ldap_connect($this->m_host, $this->m_port);
        if (!$this->m_conn) {
          echo "Impossible de se connecter à [".$this->m_host."]";
          return false;
        }
     
        // LDAP V2 utilisée par défaut, changement vers la V3
        if (!ldap_set_option($this->m_conn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
          echo "Impossible d'utiliser LDAP V3";
          $this->deconnect();
          return false;
        }
     
     
        // Liaison anonyme au serveur
        if (!ldap_bind($this->m_conn))
        {
          echo "Impossible de se lier au serveur LDAP";
          $this->deconnect();
          return false;
        }
     
        return true;
     
      } // connect()
    Et l'erreur :
    Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server
    Mon $this->m_conn est pourtant bel et bien initialisé avec un Ressource Id #10...

  4. #4
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Je me demandais à tout hasard, s'il n'y a pas une config Apache à mettre en oeuvre pour pouvoir se connecter à un serveur LDAP...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Utilisez-vous un bien DN complet ? Une authentification anonyme est-elle autorisée par votre annuaire ? Arrivez-vous à accéder à ce service avec un autre client (ldapbrowser, telnet, ldapsearch ...) ?


    Julp.

  6. #6
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Oui, LDAPBrowser se connecte très bien de manière anonyme au serveur LDAP... Et mon DN est le même que celui utilisé avec LDAPBrowser. C'est pour ça que je me demande si ca vient pas d'un problème de config...

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Je crois avoir souvenir que la fonction ldap_connect n'effectue la connection à l'annuaire qu'à la première "opération". Vos paramètres host et port sont-ils corrects ? Avez-vous essayer sans utiliser la version 3 du protocole et/ou de tenter une authentification en tant qu'utilisateur enregistré ?

    N'auriez vous pas un comportement inattendu sur cette partie (déduit de votre message d'erreur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        if (!ldap_bind($this->m_conn))
        {
          echo "Impossible de se lier au serveur LDAP";
          $this->deconnect();
          return false;
        }
    Julp.

    PS : Apache n'a rien avoir dans l'histoire.

  8. #8
    Membre confirmé Avatar de Original Prankster
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    226
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 226
    Par défaut
    Oui, j'ai essayé une connexion non anonyme, et j'ai également essayé en gardant la version LDAPv2. En fait j'ai tout essayé, sauf ce qui paraissait le + évident : effectivement, ce qui m'a induit en erreur est le succès de ldap_connect(). Vous avez raison, cette fonction n'effectue PAS la connexion, elle se charge seulement de la paramétrer en attendant un appel par ldap_bind() par exemple.

    Bref, étant aveuglé par son succès, je ne mis aucunement en doute l'adresse de mon host alors que pourtant c'est la première chose que j'aurais dû vérifier. Bref, honte sur moi, j'ai remplacé le .com par un .fr...
    N'ayons pas peur des mots, j'ai vraiment fait le boulet sur ce coup là...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [W1][N1][M1][D1] Echec de l'authentification LDAP
    Par linux dans le forum Contribuez
    Réponses: 8
    Dernier message: 13/07/2006, 16h46
  2. Réponses: 3
    Dernier message: 14/03/2006, 11h38
  3. [VB.Net]Comment effectuer l'Authentification LDAP ?
    Par le Daoud dans le forum VB.NET
    Réponses: 6
    Dernier message: 28/02/2006, 10h09
  4. Authentification ldap pour apache sous Windows
    Par beastman007 dans le forum Apache
    Réponses: 3
    Dernier message: 13/07/2005, 12h03
  5. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo