Project

General

Profile

Actions

Bug / Feature #2621

closed

LDAPAuth plugin breaks mailadresses

Added by Apophis over 12 years ago. Updated almost 12 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Start date:
29 February 2012
Due date:
% Done:

100%

Estimated time:
Request Type:
Feature Request

Description

LDAP Auth versucht aus dem LDAP eine Mailadresse zu lesen, falls es keine parsen kann wird die adresse zu .

Leider passierte das bereits für 28 User, die haben alle die gleiche email adresse: .

Folgen:
  • Nutzer welche noch keinen DB Eintrag haben -> können sich nicht anmelden: Error:

That email address () 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.) 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.

Actions #1

Updated by LukyLuke over 12 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

Actions #2

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.

Actions #3

Updated by Apophis over 12 years ago

  • Priority changed from Urgent to Immediate
Actions #4

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.

Actions #5

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.

Actions #6

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.

Actions #7

Updated by LukyLuke about 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

Actions

Also available in: Atom PDF