Bug / Feature #2621
closedLDAPAuth plugin breaks mailadresses
100%
Description
LDAP Auth versucht aus dem LDAP eine Mailadresse zu lesen, falls es keine parsen kann wird die adresse zu none@dom.tld.
Leider passierte das bereits für 28 User, die haben alle die gleiche email adresse: none@dom.tld.
Folgen:- Nutzer welche noch keinen DB Eintrag haben -> können sich nicht anmelden: Error:
That email address (none@dom.tld) is being used by a registered member already. If you feel this is a mistake, go to the login page and use the password reminder with that address.
- 29 Nutzer haben die falsche Email adressen
Quick-Solution:
Da wir eh schon doppelte mailadressen in der DB haben habe ich alle tests in SMF diesbezüglich auskommentiert:
Zeile 590-591 in Sources/Register.php
und
Zeile 586-587 in Sources/Subs-Members.php
Daher ist der Fix nicht Urgent, aber zumindest High.
ToDo:
1.) Herausfinden was schief geht beim Parsen?
Beispiel accounts: Apophis und mschaer anschauen - beide failen beim parsen.
2.) name@dom.tld komplett entfernen. Wer keine Emailadresse angegeben hat soll sich nicht im Forum anmelden können. Fehlermeldung klar machen.
3.) Parser korrigieren, commiten und deployen
4.) Überprüfen ob sich die mailadressen selbst korrigeren (Apophis)
5.) Alle übrigen Mailadressen von Hand aus dem LDAP übernehmen (damit die DB sauber wird)
6.) Hack wieder entfernen.
Für 4-6 kannst du das Ticket wieder an mich zurück geben.
Updated by LukyLuke almost 13 years ago
- Tracker changed from 3 to 1
- Project changed from 16 to SMF Forum
- Category deleted (
23) - Status changed from New to 2
Verschoben ins richtige Projekt
Updated by Apophis over 12 years ago
- Priority changed from High to Urgent
Mache das jetzt auf Urgent - das sollte wirklich jetzt zeitnah gelöst werden:
Hier ist in 2 Monaten nichts passiert, und es werden immer mehr User mit der Falschen Mailadresse in unserer Forum-DB.
Updated by LukyLuke over 12 years ago
- Assignee changed from LukyLuke to Apophis
Lokal kann ich das Problem nicht nachvollziehen bei Benutzern, welche eine EMail-Adresse im LDAP haben.
Da ich nur mein Passwort habe, kann ich das nur damit prüfen. Habe mit einer und mit zwei EMail-Adressen aus dem LDAP versucht, und alles geht.
Einziger "Fehler" ist, wenn der Benutzer KEINE EMail-Adresse angegeben hat.
Prüfen ob das EMail-Attribut (Ldap Attribute from which to extract email address (if above is not checked) ) im Config-Bereich korrekt angegeben ist auf "mail".
Damit ich das Problem online verifizieren kann, brauche ich FTP- und Forum-Admin Zugriff. Evtl. noch MySQL auf die Forum-DB um de Fehler aus zu lesen.
Updated by LukyLuke over 12 years ago
- Assignee changed from Apophis to LukyLuke
- % Done changed from 0 to 90
Der Benutzer welcher die Verbindung zum LDAP aufbaut hat zu wenig Rechte um die Attribute "mail" und "l" der Benutzer aus zu lesen. Dies wurde LDAP-Serverseitig verhärtet, denn bei den ersten tests auf Stage hatte dies funktioniert.
Konkret geht es um den Bind-User cn=bind,dc=piratenpartei,dc=ch welcher Zugriff auf mindestens die uid, uniqueidentifier, l, mail haben muss.
Sobald diese Attribute abgefragt werden können, kann durch die neue Funktion Members -> Members -> Synchronize Members die EMail-Adresse und Location der Benutzer synchronisiert werden können.
Updated by corvus over 12 years ago
- Priority changed from Immediate to Urgent
Die Daseinsberechtigung des bind Benutzers ist die die Authentifizierung zu ermögliche nicht aber das auslesen von Daten.
Aus diesem grund ist das vorliegende Problem nicht auf LDAP- sondern forumseitig zu beheben. Dazu muss folgendes gemacht werden:
Zuerst muss wie gehabt mittels bind der Benutzer authentifiziert werden. Danach besteht eine LDAP-Connection mit den Berechtigungen des Benutzers. Über diese ist es möglich die gewünschten Daten auszulesen.
Bei Unklarheiten bitte rückfragen.
Updated by LukyLuke over 12 years ago
- Status changed from 2 to Closed
- % Done changed from 90 to 100
Schlussendlich habe ich am Code nichts angepasst, es schent also irgendwie mit dem LDAP wieder alles so zu funktionieren wie am Anfang...
Neue Funktion: Members > Synchronize: Alle EMail-Adressen werden mit dem LDAP synchronisiert.
ACHTUNG Derjenige der das ausführt, sollte zugriff auf alle Members haben sonst werden nur die abgeglichen, auf welche er zugriff hat.
Members synchronisiert, es sind wieder die korrekten EMail-Adressen drin.
https://github.com/LukyLuke/pps-smf-ldapauth/commit/ab2fa0ba10dd039fd5e08e07c0d50631410d3f35