LDAP funktioniert nicht. *** Auth failed
-
Hallo,
ich habe ein Problem mit der LDAP integration.
Das Modul ist passend konfiguriert.
Aber ich bekomme eine Auth failed Meldung wenn ich versuche mich anzumelden.2010-03-31 15:30:15 ldap: Starting LDAP Module for mandator: idoit_nfon 2010-03-31 15:30:15 ldap: Found 1 configured LDAP Servers. Iterating.. 2010-03-31 15:30:15 ldap: 1. 2010-03-31 15:30:15 ldap: Creating new ldap-library connection to: ldap.xxx.yyy:389, user: CN=admin,DC=xxx,DC=yyy 2010-03-31 15:30:15 ldap: Connected to ldap.xxx.yyy 2010-03-31 15:30:15 ldap: Searching for username: dawast 2010-03-31 15:30:15 ldap: Getting user using filter: (&(objectClass=posixAccount)(uid=dawast)) in search-path: OU=people,DC=xxx,DC=yyy 2010-03-31 15:30:15 ldap: Found DN: uid=dawast,ou=people,dc=xxx,dc=yyy. Trying to login with it. 2010-03-31 15:30:15 ldap: ** Auth failed. 2010-03-31 15:30:15 ldap: ------------------------------------------------------- 2010-03-31 15:30:15 ldap: *** LDAP Auth failed. (false)
Benutzername und Kennwort sind aber korrekt.
Ich bin mir auch nicht sicher warum hinter Auth failed in () false steht.Gruß Dawast
-
Version ist 0.9.9 (Rev 5050)
-
Das false ist die Rückmeldung der Authentifizierung, da könnte auch ne Error Meldung stehen je nach LDAP Server.
Hm also OpenLDAP macht irgendwie häufiger solche Probleme.. auch wenn die Authentifizierung korrekt ist.
Schau am besten mal im Log deines OpenLDAP Servers mit welchen bind und search Befehlen das i-doit da genau ankommt -
Ich hatte mir auch schon ein pcap angesehen das etwas merkwürdig war.
Jetzt warte ich mal bis ich das Update auf die 0.9.9-1 hinbekommen habe und sehe dann mit der LDAP Thematik weiter.
-
Hi,
ich mußte, da wir posixAccounts benutzen, in src/classes/libraries/ldapi/ldapi_acc.class.php Zeile 24 auf:
private $m_idattribute = "uid";
ändern. Sonst findet er den Account, aber die anschließen Authentifizierung schlägt fehl. Eventuell könnte man den Wert aus der LDAP Konfiguration ableiten.
Gruß,
matthias
-
Das sollte er eigentlich tun: isys_module_ldap.class.php:287
/* OpenLDAP Fix */
if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
$l_ldap_library->set_idattribute(
$this->get_mapping( C__LDAP_MAPPING__USERNAME,
$l_ldap["isys_ldap_directory__mapping"])
);
}Kannst du mal schauen was bei dir in $l_ldap["isys_ldap_directory__mapping"] an der Stelle steht und eventuell debuggen warum das bei dir nicht korrekt übernommen wird?
-
Hi,
ich hab das noch nicht überprüft, vermutlich muss es:
if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {
statt
if ($l_ldap["isys_ldap_directiry__const"] == "C__LDAP__OPENLDAP") {
heißen. Zumindest scheint der entsprechend Abschnitt gar nicht ausgeführt zu werden, und sys_ldap_directiry__const kommt auch sonst im Quelltext nicht vor.
Gruß,
Matthias
-
Hi,
vollkommen richtig. Das muss "if ($l_ldap["isys_ldap_directory__const"] == "C__LDAP__OPENLDAP") {" heissen.
Danke
Funktioniert es denn bei dir mit der geänderten Zeile ?
-
Hi,
je, wenn ich $m_idattribute wieder auf 'cn' zurücksetze kann ich mich nach der Änderung immer noch Anmelden.
Gruß,
Matthias
-
Zur Info: ich habe den Fehler zweimal gefunden: in Zeile 246 und in Zeile 288 (Version 0.9.9-2)
Hubert