phpbar.de logo

Mailinglisten-Archive

[php] ldap search

[php] ldap search

Marco Weber marco.weber at uni-trier.de
Mit Jan 9 13:51:32 CET 2008


|Hallo Leute,

Im Prinzip versuche ich einen search mit
BASEDN "||DC=domain,DC=de" und FILTER ||'CN='.$username
zu machen.

Mit meinem LDAP-Browser geht alles.

Mit dem PHP Code geht folgendes:
Das Connect geht.
Das Bind geht.
Der Search wirft die Fehlermeldung:
PHP Warning:  ldap_search(): Search: Operations error in
/home/mweber/test.php on line 41
Search: Operations error
||

was mache ich falsch?


schon mal danke für alle eure anregungen...

Liebe Grüsse
    Marco Weber


PS: Anbei mein Test-Code... Falls den wen interessiert. :)


// mal versuch mit iso, wenn utf8 nicht geht...
$_LDAP_BASE=iconv("UTF-8", "ISO-8859-1", 'DC=domain,DC=de');
$_LDAP_USER=iconv("UTF-8", "ISO-8859-1", $username.'@domain.de');
$_LDAP_PASSWD=iconv("UTF-8", "ISO-8859-1", $passwd);
$_LDAP_SEARCH=iconv("UTF-8", "ISO-8859-1", 'CN='.$username);


// zuständige dcs für domain.de abfragen
$dcs=dns_get_record("_ldap._tcp.domain.de", DNS_SRV);
// dcs mischen
shuffle($dcs);
// dann abfrage starten
foreach($dcs as $_LDAP_HOST) {
  $_LDAP_HOST=$_LDAP_HOST['target'];

  // dann die LDAP Variablen setzen
  // verbinden
echo "ldaps://".$_LDAP_HOST."/"."\n";
  $ds=ldap_connect("ldaps://".$_LDAP_HOST."/");
echo "Connect: ".ldap_error($ds)."\n";
  // sind wir verbunden?
  if(is_resource($ds)) {
    // einloggen erfolgreich?
    if(ldap_bind($ds, $_LDAP_USER, $_LDAP_PASSWD)) {
echo "Bind: ".ldap_error($ds)."\n";
      // suchen
      $sr=ldap_search($ds, $_LDAP_BASE, $_LDAP_SEARCH);
echo "Search: ".ldap_error($ds)."\n";
      // suche erfolgreich?
      if(is_resource($sr)) {
        // einträge abrufen
        $info = ldap_get_entries($ds, $sr);
echo "Getentries: ".ldap_error($ds)."\n";
        //such ergebnis schliessen
        ldap_free_result($sr);
        print_r($info);

        ldap_close($ds);
        break;
      }
      else {
        ldap_close($ds);
        continue;
      }
    }
    else {
      ldap_close($ds);
      continue;
    }
  }
  else {
    continue;
  }


}

|

php::bar PHP Wiki   -   Listenarchive