LDAP_compare über PHP

Hallo Forum, hallo Experten.

Ich versuche mit php das Passwort eines Benutzers über LDAP zu vergleichen. Leider bekomme ich immer folgende Fehler:

Warning: ldap_compare() [function.ldap-compare]: Compare: No such attribute in D:\wwwroot\pub\content\site_todo\ldap.php on line 17
Fehler: No such attribute

Folgende Quellcode:

<?php $ds=ldap_connect("ldap://172.25.235.72", 389);
if ($ds) { if(ldap\_bind($ds)) { $dn = " CN=Mustermann.Hans, OU=Users, DC=domain, DC=local"; $value = "abcdefg"; $attr = "password"; // vergleiche die Werte $r=ldap\_compare($ds, $dn, $attr, $value); if ($r === -1) { echo "Fehler: ".ldap\_error($ds); } elseif ($r === TRUE) { echo "Kennwort korrekt."; } elseif ($r === FALSE) { echo "Falsch geraten! Kennwort nicht korrekt."; } } else { echo "Keine Bindung zum LDAP Server möglich."; } ldap\_close($ds); } else { echo "Keine Verbindung zum LDAP Server möglich."; } ?\> Leider finde ich im Internet nichts, worauf dieser Fehler zurückzuführen ist. Vielleicht kann je jemand helfen. Vielen Dank und lieben Gruß L.Schwede

Hallo Forum, hallo Experten.

Ich versuche mit php das Passwort eines Benutzers über LDAP zu
vergleichen. Leider bekomme ich immer folgende Fehler:

Warning: ldap_compare() [function.ldap-compare]: Compare: No
such attribute in D:\wwwroot\pub\content\site_todo\ldap.php on
line 17
Fehler: No such attribute

Folgende Quellcode:

> $dn = " CN=Mustermann.Hans, OU=Users, DC=domain, DC=local";  
> $value = "abcdefg";  
> $attr = "password";  
>   
> // vergleiche die Werte  
> $r=ldap\_compare($ds, $dn, $attr, $value);

nachdem im beispiel unter http://de2.php.net/ldap_compare das feld pass mit „kennwort“ benannt ist, vermute ich einfach mal, das auf deinem ldap-server das attribut nicht „password“ heisst.

das Problem ist nur das ich mit nem LDAP-Browser dieses Feld garnicht sehe.
Auch andere Felder wie „name“ können nicht ausgelesen werden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

das Problem ist nur das ich mit nem LDAP-Browser dieses Feld
garnicht sehe.
Auch andere Felder wie „name“ können nicht ausgelesen werden.

und woher weist du dann, dass es die da gibt? welche attribute bekommst du denn im ldap-browser von deinem muster angezeigt, hast du mal versucht diese ueber dein script abzufragen?

habe von ldap keine ahnung.

Hallo,

das Problem ist nur das ich mit nem LDAP-Browser dieses Feld
garnicht sehe.

Naja, das werden die Rechte zum Auslesen fehlen, ist beim Passwort ja auch gut so.

Auch andere Felder wie „name“ können nicht ausgelesen werden.

Sicher ? Auch wenn du die explizit angiebst, das du die lesen willst ? LDAP gibt, wenn du in der Abfrage keine Attribute angiebst, nur die vordefinieren Standardattribute zurück, nicht alle…

Was ist das denn für ein LDAP Server auf der anderen Seite ? Kannst du nicht im LDAP-Schema nachschauen, wie die Attribute heissen ?

Statt Evtl. ist ein ldap_bind() mit den Benutzerdaten einfacher zu realisieren als Abfrage mit Compare…

Alexander