2012-01-17 5 views
1

J'ai des problèmes avec Windows pour me connecter à un serveur LDAP sécurisé, et je vois la même chose partout en ligne sans aucune solution qui fonctionne jusqu'à maintenant.LDAPS ne pas se connecter avec PHP

J'ai essayé d'utiliser à la fois IIS et WAMPSERVER. J'ai mis libeay32.dll et ssleay32.dll dans mon répertoire SYSTEM32 et activé l'extension LDAP.

Voici mon code:

putenv('LDAPTLS_REQCERT=never'); 
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); 
$resource = ldap_connect("ldaps://{redacted}/", 636) or die ("Could not connect."); 
ldap_set_option($resource, LDAP_OPT_PROTOCOL_VERSION, 3) 
$bound = ldap_bind($resource, "{redacted}\ldap", "****"); 

echo ldap_error($resource); 

Je reçois Can't contact LDAP server de ldap_error et l'avertissement de PHP Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in C:\wamp\www\ldapTest.php

Le serveur je tente de se connecter à est en cours d'exécution Active Directory et je lui ai confirmé que je peux connecter en utilisant d'autres outils LDAP. Je sais que ce serveur a un problème avec son certificat - l'outil LDAP que j'utilise dit The server you are trying to connect to is using a certificate which could not be verified! - Issuer certificate not found

Je soupçonne que le mauvais certificat cause le problème de liaison, c'est pourquoi j'ai essayé le LDAPTLS_REQCERT = jamais.

Répondre

0

Vous pouvez essayer de modifier la ligne suivante:

$resource = ldap_connect("ldaps://{redacted}/", 636) 

Pour utiliser votre numéro de port directement dans l'URI au lieu

$resource = ldap_connect("ldaps://{redacted}:636") 

Cela a été connu pour travailler quand l'autre ne sera pas.

+0

Merci mon pote pour la réponse mais malheureusement cela n'a pas fonctionné pour moi. – Sam

1

Je ne me souviens pas où j'ai trouvé cet article; Cependant, j'ai découvert que par défaut, même si vous spécifiez le TLS_REQCERT, il n'est jamais ignoré.

Ce que j'ai découvert/puis oublièrent et a découvert est à nouveau, vous devez effectuer les opérations suivantes (machines pour fenêtres)

  1. Créez la structure de répertoire suivant sur votre lecteur c dans la racine c: \ OpenLDAP \ sysconf (créer les deux dossiers)
  2. a l'intérieur du dossier sysconf créer un fichier texte appelé « ldap.conf »
  3. Dans le fichier texte que vous avez créé mettez ce qui suit sur la première ligne, puis enregistrez « TLS_REQCERT jamais » (Sans les guillemets)
  4. Redémarrez Apache et cela devrait fonctionner maintenant.

Faites un essai. et bonne chance!

+0

Cette étape est toujours requise à partir de janvier 2017 sur les installations WAMP (config: Win Server 2008 R2, Apache 2.4.25 Win64 VC14, PHP 7.1.1) – Antoine