Mailinglisten-Archive |
|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