PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LDAP DB mit PHP bearbeiten - stecke fest



mslin
03.06.09, 20:46
Hallo,

habe mir ein PHP gebastelt, daß mir meinen Kundenstamm aus einer MySQL DB in mein LDAP Verzeichnis einschreibt.
Das klappt auch ast rein!

Jedoch will ich das sich dieses "LDAP-Verzeichnis" jede Nacht selbst aktualisiert- über cron... auch noch kein Problem.

Nun will ich den LDAP Eintrag ou=test,dc=sz,dc=local mit allen untereinträgen löschen und danach neu erstellen.

Soweit so gut. Mein Problem ist nur, wenn das Verzeichnis "ou=test,...." leer ist, kann ich es löschen mit php.
Wenn jedoch Untereinträge vorhanden sind, wird der Zugriff auf's löschen verweigert.

Hab heute schon den ganzen Tag gegoogelt, jedoch irgendwie keine Lösung gefunden... nun hoffe ich auf eure Hilfe!

Hier mal mein Code zum Löschen:



$ldapLink =ldap_connect($ldapHost, $ldapPort)
or die("Can't establish LDAP connection");

if (ldap_set_option($ldapLink,LDAP_OPT_PROTOCOL_VERSI ON,3))
{ }

if ($ldapLink) {

// bind with appropriate dn to give update access
$r=ldap_bind($ldapLink,$ldapUser,$ldapPswd)
or die("Can't bind to server.");

if (ldap_set_option($ldapLink,LDAP_OPT_PROTOCOL_VERSI ON,3))
{ }

// delete an entry
$r=ldap_delete($ldapLink, "ou=test,dc=sz,dc=local");
if(!$r) die("ldap_delete failure<br>");

ldap_close($ldapLink);
echo "ldap_delete success";
} else {
echo "Unable to connect to LDAP server";
}
?>


Fehlermeldung:

Warning: ldap_delete() [function.ldap-delete]: Delete: Operation not allowed on non-leaf in ......../ldap_t_01.php on line 34
ldap_delete failure


Könnt Ihr mir weiterhelfen?

Gruß
mslin

lkwg82
03.06.09, 22:11
da steht, daß du nur Blätter löschen kannst, ist es ein Verzeichnis? (mußt du vielleicht erst alle Einträge löschen, bevor du den Ast entfernen darfst?)

schon einmal die Mledung gegoogelt?