LDAP Active Directory Fehler beim einloggen
-
Hallo!
Ich bin dabei eine Testumgebung für idoit aufzubauen, da wir es gerne in naher Zukunft produktiv einsetzen würden.Eckdaten:
OS: WinServer 2008 R2 RC1
I-doit Unterbau: XAMPP
i-doit Ver. 0.9.7Nun bin ich heute auf das LDAP Modul gestoßen und habe mich gefreut, da ich dann nicht 2 User Datenbanken pflegen müsste.
Viele Probleme habe ich schon mit Hilfe des Forums gelößt (php_ldap nicht aktiv, falsche Parameter für die User oder den Admin in der AD, parameter für den namen und die mail adresse auslesen…), bis auf eins:
Die AD Anbindung klappt, Test erfolgreich, 5 Accounts gefunden (ist nur Test AD)Habe die Werte aus dem Wiki...
i-doit Microsoft Active DirectoryBenutzername (Login) sAMAccountName
Gruppe memberof
Vorname givenName
Nachname sn
E-Mail Adresse mail
Art des Kontakts objectClass... hinterlegt und der Gruppe admin gesagt das die LDAP Gruppe "Administratoren" dazugehört.
Wenn ich mich nun mit einem AD Mitglied anmelden will, was der Gruppe "Administratoren" angehört kommt bei der ersten Anmeldung folgender Fehler:Fatal error: Call to a member function get_data() on a non-object in D:\xampp\htdocs\idoit\src\classes\modules\isys_module_ldap.class.php on line 342
Wenn ich mich danach nochmal versuche anzumelden kommt:
You need at least reading rights for logging in to an i-doit mandator.
Contact your system administrator for adding your user into a corresponsing right-group.Ich schließe mal daraus, dass die Daten nicht richtug aus der AD übernommen wurden. Ich weiß nur nicht warum.
Lustigerweise ist nach dieser Sache, unter "Kontakte - Intern - Personen" ein neuer User da, der wie der heißt den ich einloggen wollte.Wo ist mein Fehler?
Gruß Starko
-
Ich habe meine komplette Frage mal neu überarbeitet und hoffe, dass mein Problem nun verständlicher ist. Habe viel am Satzbau gearbeitet und versucht noch mehr Informationen zu posten.
Gruß Starko -
Tausch mal die Datei src/classes/modules/isys_module_ldap.class.php mit der hier angehangenen aus
-
Mit der Datei von dir geht i-doit gar nicht mehr
Tausche ich die Datei wieder zurück geht es wieder. -
Wie gar nicht mehr? Welche Fehler bekommst du? Was steht im Apache error.log?
Versuch ansonsten mal in die gleiche Datei in Zeile 339 folgendes einzufügen:
$l_dao_groups = new isys_contact_dao_group($p_database);
-
Ok, erstmal zu dem "Fehler". Der Fehler ist, dass die Seite nicht mehr aufrufbar ist. Wenn ich die Adresse eingebe, lädt er eine Sekunde und dann kommt eine weiße Seite und er zeigt an, dass er fertig geladen hat. Tausche ich die Datei zurück, läßt sich die Seite wieder aufrufen. Aber so kommt einfach eine weiße Seite.
Ich habe den Code jetzt in der "alten" Datei in der Zeile eingefügt.
Wenn ich mich mit einem AD admin anmelde, der es vorher schon mal versucht hat, kommt die Meldung, dass er keine ausreichen Rechte hat (you need at least reading rights) und wenn ich das mit einem neuen Nutzer mache kommt folgender Fehler:
isys_exception_database : Retrieve failed. Database component not loaded! (Extended Information: NULL)
Der Unterschied ist zb, dass die Meldung jetzt nicht mehr über ode runter der Anmeldemaske erscheint, sondern unter dem Login Knopf.
Gruß Starko
-
Oh sorry, ich hab mich mit dem Code vertan. Du musst folgendes einfügen (Zeile 339, anstelle der Zeile oben):
global $g_comp_database;
$l_dao_groups = new isys_contact_dao_group($g_comp_database); -
Ich habe die zwei Zeilen, die du gepostet hast an der Stelle 339 eingefügt. Jetzt sagt er mir bei jeder Anmeldung, mit einem AD Nutzer, dass der Namen und das PW falsch ist.
Noch eine Idee? Würde gerne die AD nutzen. -
Der User befindet sich in der konfigurierten OU und du hast als Benutzernamen den Windows Login Namen verwendet?
Aktivier mal das Debugging: http://doc.i-doit.org/wiki/LDAP#Debug
Und Poste den Output -
Ja, der User ist in der OU, Anmeldename ist der, den ich auch an meinem PC nutze.
2009-05-28 22:47:20 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-28 22:47:20 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Connected to 192.168.0.30 2009-05-28 22:47:20 ldap: Searching for username: Starko 2009-05-28 22:47:20 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:20 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-28 22:47:20 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Connected to 192.168.0.30 2009-05-28 22:47:20 ldap: Searching for username: Starko 2009-05-28 22:47:20 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:20 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:27 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-28 22:47:27 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Connected to 192.168.0.30 2009-05-28 22:47:27 ldap: Searching for username: Starko 2009-05-28 22:47:27 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:27 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-28 22:47:27 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Connected to 192.168.0.30 2009-05-28 22:47:27 ldap: Searching for username: Starko 2009-05-28 22:47:27 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:27 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:33 ldap: User exists. Found DN: CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net - User-ID: 17 2009-05-28 22:47:33 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Connected to 192.168.0.30 2009-05-28 22:47:33 ldap: Searching for username: Jessica 2009-05-28 22:47:33 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Jessica)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Found DN: CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Auth successfull (CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:33 ldap: User exists. Found DN: CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net - User-ID: 17 2009-05-28 22:47:33 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Connected to 192.168.0.30 2009-05-28 22:47:33 ldap: Searching for username: Jessica 2009-05-28 22:47:33 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Jessica)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Found DN: CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:33 ldap: Auth successfull (CN=Buchholz\, Jessica,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:47 ldap: User exists. Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net - User-ID: 18 2009-05-28 22:47:47 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Connected to 192.168.0.30 2009-05-28 22:47:47 ldap: Searching for username: idoitadmin 2009-05-28 22:47:47 ldap: Using filter: (&(objectClass=user)(sAMAccountName=idoitadmin)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Auth successfull (CN=i-doit,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:47 ldap: User exists. Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net - User-ID: 18 2009-05-28 22:47:47 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Connected to 192.168.0.30 2009-05-28 22:47:47 ldap: Searching for username: idoitadmin 2009-05-28 22:47:47 ldap: Using filter: (&(objectClass=user)(sAMAccountName=idoitadmin)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:47 ldap: Auth successfull (CN=i-doit,OU=Accounts,DC=penis,DC=net). 2009-05-28 22:47:48 ldap: User exists. Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net - User-ID: 18 2009-05-28 22:47:48 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:48 ldap: Connected to 192.168.0.30 2009-05-28 22:47:48 ldap: Searching for username: idoitadmin 2009-05-28 22:47:48 ldap: Using filter: (&(objectClass=user)(sAMAccountName=idoitadmin)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:48 ldap: Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:48 ldap: ** Auth failed. LDAP-Result: Invalid credentials 2009-05-28 22:47:48 ldap: *** Unexpected result received from ldap_login() in isys_component_ldap. 2009-05-28 22:47:48 ldap: *** false 2009-05-28 22:47:48 ldap: User exists. Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net - User-ID: 18 2009-05-28 22:47:48 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-28 22:47:48 ldap: Connected to 192.168.0.30 2009-05-28 22:47:48 ldap: Searching for username: idoitadmin 2009-05-28 22:47:48 ldap: Using filter: (&(objectClass=user)(sAMAccountName=idoitadmin)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:48 ldap: Found DN: CN=i-doit,OU=Accounts,DC=penis,DC=net 2009-05-28 22:47:48 ldap: ** Auth failed. LDAP-Result: Invalid credentials 2009-05-28 22:47:48 ldap: *** Unexpected result received from ldap_login() in isys_component_ldap. 2009-05-28 22:47:48 ldap: *** false
-
Wenn ich die Datei wiederherstelle, die bei 0.9.7 normal dabei ist, ohne deine Modifizierung, kommt beim anmelden der Fehler, dass Name und Passwort falsch sind. In der Debug steht dann folgendes:
2009-05-31 17:54:15 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-31 17:54:15 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Connected to 192.168.0.30 2009-05-31 17:54:15 ldap: Searching for username: Starko 2009-05-31 17:54:15 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net). 2009-05-31 17:54:15 ldap: User exists. Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net - User-ID: 16 2009-05-31 17:54:15 ldap: Creating new ldap-library connection to: 192.168.0.30:389, user: CN=Administrator,CN=users,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Connected to 192.168.0.30 2009-05-31 17:54:15 ldap: Searching for username: Starko 2009-05-31 17:54:15 ldap: Using filter: (&(objectClass=user)(sAMAccountName=Starko)) in search-path: OU=Accounts,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Found DN: CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net 2009-05-31 17:54:15 ldap: Auth successfull (CN=Hofmann\, Marco,OU=Accounts,DC=penis,DC=net).