Hallo zusammen,
ich steh mal wieder auf dem Schlauch und finde nichts vernünftiges im Internet an Hilfe, daher wende ich mich mal wieder an euch.
Folgendes Problem ------------------------------------
LDAP-Connections
$ldapBase = ‚O=abc‘;
$username = ‚uid=admin‘;
$password = ‚xxxx‘;
Suche nach einem Account funktioniert -----------------
$accountnumber=12345678
$ldapSearch = ldap_search($ldapConn, $ldapBase, „(accountnumber=“ . $accountnumber . „)“);
$ldapResults = ldap_get_entries($ldapConn, $ldapSearch);
Ergebnisse werden auch geliefert ----------------------
accountnumber: 12345678
accountlocked: Y
…
…
Nun möchte ich den Eintrag verändern -----------------
$entry[„accountlocked“] = „N“;
ldap_modify ($ldapConn, „O=abc, accountnumber=12345678“, $entry);
Bekomme immer folgenden Fehler -----------------------
Warning: ldap_modify() [function.ldap-modify]: Modify: No such object in D:\wwwroot\dev\ldap_test\ldap.php on line 29
Hat jemand eine Idee was hier falsch ist.
Hab schon diverse andere Sachen probiert … aber nichts funzt.
Danke und Gruß
Lars
Hab das selbst noch nie benutzt, aber wenn ich die doku richtig verstanden hab muss es
$entry[„accountlocked“][0] = „N“;
heißen
Gruß
Phillip
HI Phillip,
du das hab ich alles schon probiert.
So …
$entry[„accountlocked“][0] = array( 0 => ‚N‘ );
oder so …
$entry[„accountlocked“] = array( 0 => ‚N‘ );
oder so …
$entry[„accountlocked“][0] = „N“;
oder so …
$entry[„accountlocked“] = „N“;
nichts funzt… brauche dringend hilfe damit!
Danke und Gruß
Lars
doch, wie ist deine ldap struktur aufgebaut
ergo hat der user auch rechte zum änder, weil suchen kann jeder, aber ändern nicht jeder
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ist die suche auch eindeutig ?? , sonst gehts nicht
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
ja hat er, denn ich benutze den user auch über den ldap-administrator um was zu ändern - er hat also schreibrechte.
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
hab´s auch schon über die uid versucht welche ja eineindeutig ist.
ldap_modify ($ldapConn, „o=abc, uid=135454143848“, $entry);
funzt aber auch nicht
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
folgendes geht auch nicht
ldap_modify ($ldapConn, ‚o=abc‘, ‚uid=134385458343‘, $entry);
FM:
Warning: Wrong parameter count for ldap_modify() in …
gib mal ein ansatz deiner strucktur
so das ich den richtigen dn sehe und das nachvollziehen kann.
weil es muss defenietiv an was anderem liegen.
mindestens sollte ja
$leer=array();
ldap_modify($con,‚xxxxxxxx‘,$leer)
ein löschen bewirken, wobei für xxxxx natürlich der richtige dn eingetragen werden muss .
alx
31. Mai 2008 um 19:17
12
Hallo,
ldap_modify ($ldapConn, „O=abc, accountnumber=12345678“,
$entry);
Bekomme immer folgenden Fehler -----------------------
Warning: ldap_modify() [function.ldap-modify]: Modify: No such
object in D:\wwwroot\dev\ldap_test\ldap.php on line 29
Schon
ldap_modify ($ldapConn, „accountnumber=12345678, O=abc“, $entry);
versucht ? LDAP baut den Pfad soweit ich weiss genau andersrum auf.
Ansonsten solltest du eigentlich schon im dem Suchergebnis die DN des Objektes mit bekommen haben, hast du dir $entry das mal komplett ausgeben lassen ?
Alex