WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Hallo Leute,
wenn als Benutzername = die E-Mail-Adresse verwendet wird gibt es immer mecker.
Wohl wg. dem [at] dem [dot] ... wie kann ich das trotzdem "zulassen" der Kunde möchte das immer mit E-Mail angemeldet wird (blöd auch wenn in einer Firma 3x Müller angemeldet werden sollen
Wer hat "zündende" Idee - wo könnte ich dies "einstellen" die Zeichen "erlauben"???
merci,
dedra
Offline
Grundsätzlich ginge das, dafür müsste in der /admin/users/add.php die Zeile
if(!preg_match('/^[a-z]{1}[a-z0-9_-]{2,}$/i', $username)) {
zu
if(!preg_match('/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/', $username)) {
geändert werden.
Dann werden aber nur noch Mailadressen als Benutzernamen akzeptiert.
Das betrifft nur das Hinzufügen von Benutzern übers Backend, wenn auch Frontendregistrierung verwendet wird, müsste das auch in /account/signup2.php angepasst werden.
Achtung, das ist eine Änderung am Core und wird bei Updates überschrieben.
Ich weiß auch nicht, ob das eventuell noch weitere Implikationen hat.
Wir Benötigen: Cents, Euros... jetzt spenden!
Offline
Hi Florian,
bei einem Update ist das dann natürlich immer wieder neu einzustellen - wenn ich diesen ganzen Bereich "auskommentiere" geht es offenbar auch, und sogar mit Namen als auch E-Mail-Adresse als Benutzer - ist wohl ne "quick'n'dirty" Variation...
Ein Bekannter tippte drauf die ganze Benutzeranmeldung etc. aus dem core zu nehmen, bzw. über ein eigenes Modul zu realisieren, wäre halt Programmieraufwand.
Offline
NICHT gänzlich auskommentieren, sonst kommt der böse Benutzer 'DROP TABLE!
Mit RegEx kenne ich mich leider überhaupt nicht aus, an sich sollte es reichen, in dem Ausdruck halt noch @ und . als weitere zulässige Zeichen zu ergänzen.
Ich hasse ja solche Verweise auf Versionen, die noch nicht verfügbar sind, aber: In 1.2 wird sich nach meinem Kenntnisstand _alles_ modularisieren lassen, also auch die Benutzerregistrierung. (Kann aber auch sein, dass ich da was durcheinanderbringe.)
Wir Benötigen: Cents, Euros... jetzt spenden!
Offline
... das hatten wir doch neulich erst ;)
^[a-z]{1}[a-z0-9\.\@_-]{2,}erlaubt Buchstaben, Zahlen, Striche, Punkte und @ als Zeichen - damit sind Mail-Adressen* als Name möglich.
Am Anfang muss weiterhin ein Buchstabe stehen, also klappt 1meier@meier.fun nicht ...
(und das richtigere Zitat ist natürlich https://xkcd.com/327/ )
* das betrifft natürlich nur "normale" Mail-Adresse. Sie dürfen auch diverse Sonderzeichen von ^ bis } enthalten,
das wird hier nicht abgefangen. Die richtige regex wäre dann geringfügig komplexer: http://www.ex-parrot.com/pdw/Mail-RFC822-Address.html
Beitrag geändert von jean (28.02.2017 16:53:59)
Offline
florian, dedra
Zu den Änderungen in #2
Muss auch noch die /admin/users/save.php angepasst werden damit man entsprechende User auch über die Benutzerverwaltung bearbeiten kann.
Offline
dedra
Ab der kommenden WBCE 1.3.2, muss statt der signup2.php die signup_form.inc.php angepasst werden damit der Frontend Login funktioniert.
Offline
Wenn ihr Lust habt euch zusammen zu tun und ein komplettes Patch für WBCE 1.3.2 ausarbeitet, könnte man das in Zukunft ins System einbauen, sodass man nur eine Einstellung ändern muss und der Loginname würde E-Mail Adressen akzeptieren.
Also inklusive Backend und den E-Mail Templates, die bei der Registrierung verschickt werden.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
(wäre schon toll, wenn der Benutzername Leerzeichen enthalten könnte ...) ;-)
Offline
(wäre schon toll, wenn der Benutzername Leerzeichen enthalten könnte ...) ;-)
Damit wäre dann z.B. "vorname nachname" auch als Login möglich - fände ich auch eine schöne Option.
SG Detlef
Offline
Ich habe mehrere Seiten mit WB und WBCE bei denen ich ebenfalls das Login mit der eMail verwende.
Hier eine Liste mit den Dateien bei denen Patches notwendig sind. Natürlich würde ich mich freuen wenn die Loginmethode fester Bestandteil in WBCE werden könnte.
eMail als Username
------------------
Massnahmen: Benutzername auf 80 Zeichen verlängern und eMail als username erlauben.
Zeilennummern sind für WB 2.8.3 SP1 (WBCE 1.3.3) und können u.U. abweichen.
In WB sind 9 Dateien und in WBCE sind 5 Dateien betroffen.
\account\login.php Zeile 76 (66): "MAX_USERNAME_LEN" => "80",
\account\login_form.php Zeile 57 (---): maxlength="80"
\account\signup2.php Zeile 45 (---): "@." hinzug. bei if(!preg_match('/^[a-z]{1}[a-z0-9_@.-]{2,}$/i', $username)) {
\admin\users\add.php Zeile 52 (47): "@." hinzug. bei if(!preg_match('/^[a-z]{1}[a-z0-9_@.-]{2,}$/i', $username)) {
\admin\users\save.php Zeile 59 (53): "@." hinzug. bei if(!preg_match('/^[a-z]{1}[a-z0-9_@.-]{2,}$/i', $username)) {
\admin\login\index.php Zeile 54 (54): 'MAX_USERNAME_LEN' => "80", (wenn Datei vorhanden)
\admin\themes\templates\users_form.htt Zeile 20 (---): maxlength="80" (wenn Datei vorhanden)
\admin\users\user_form.html Zeile 26 (---): maxlength="80" (wenn Datei vorhanden)
\templates\wb_theme\templates\users_form.htt Zeile 20 (---): maxlength="80" (auch bei argos_theme)
\templates\wbce_flat_theme\templates\users_form.htt Zeile --- (15): maxlength="80" (auch bei argos_theme_reloaded)
Offline
Danke für die Anleitung. Wenn man das richtig konsequent umsetzen wollte, müsste man aber die eigentliche/echte E-Mail-Adresse des Benutzeraccounts mit der beim Benutzeraccount hinterlegten E-Mail-Adresse gleichsetzen.
Sonst kann ein Benutzer als Benutzernamen "troll@domain.tld" verwenden, die Mailadresse zum Account lautet dann jedoch "gunxmurfl@domain.tld", und dann wundert sich z.B. der Benutzer, wenn z.B. das Passwortrücksetzen an "seine" Mailadresse "troll@domain.tld" nicht funktioniert....
Wir Benötigen: Cents, Euros... jetzt spenden!
Offline
wenn man das weiterdenkt, sollte man überlegen, die Email als User Methode mittels Konstante in der Config.php zu erlauben oder nicht.
USER_IS_EMAIL = true;
Offline
florian