Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2006, 19h10   #1
Membre actif
 
Avatar de Original Prankster
 
Inscription : juillet 2005
Messages : 226
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 226
Points : 161
Points : 161
Envoyer un message via MSN à Original Prankster Envoyer un message via Skype™ à Original Prankster
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.
Original Prankster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 19h19   #2
Membre émérite
 
Avatar de Yobs
 
Inscription : avril 2004
Messages : 675
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 675
Points : 808
Points : 808
Envoyer un message via MSN à Yobs
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.
__________________
Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés
Yobs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 09h34   #3
Membre actif
 
Avatar de Original Prankster
 
Inscription : juillet 2005
Messages : 226
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 226
Points : 161
Points : 161
Envoyer un message via MSN à Original Prankster Envoyer un message via Skype™ à Original Prankster
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 :
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 :
Citation:
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...
Original Prankster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 13h10   #4
Membre actif
 
Avatar de Original Prankster
 
Inscription : juillet 2005
Messages : 226
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 226
Points : 161
Points : 161
Envoyer un message via MSN à Original Prankster Envoyer un message via Skype™ à Original Prankster
Je me demandais à tout hasard, s'il n'y a pas une config Apache à mettre en oeuvre pour pouvoir se connecter à un serveur LDAP...
Original Prankster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 13h39   #5
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 13h46   #6
Membre actif
 
Avatar de Original Prankster
 
Inscription : juillet 2005
Messages : 226
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 226
Points : 161
Points : 161
Envoyer un message via MSN à Original Prankster Envoyer un message via Skype™ à Original Prankster
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...
Original Prankster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2006, 21h04   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 :
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2006, 09h39   #8
Membre actif
 
Avatar de Original Prankster
 
Inscription : juillet 2005
Messages : 226
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : juillet 2005
Messages : 226
Points : 161
Points : 161
Envoyer un message via MSN à Original Prankster Envoyer un message via Skype™ à Original Prankster
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à...
Original Prankster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h18.


 
 
 
 
Partenaires

Hébergement Web