Benutzername ist Emailadresse

  • Joomla Version
    4.3.2
    PHP Version
    PHP 8.1.x
    Hoster
    hosteurope
    Link (URL) zur Seite mit dem Problem
    https://www.give-consulting.com/_neu3/index.php/en/rs-forms-en

    Hallo,

    braucht man eine Extension, um die Emailadresse des Users bei der Anmeldung als Benutzernamen zu verwenden?

    Welche wäre da zu empfehlen?

    Danke für einen Tipp.

  • Ideal wäre ein Authentication Plugin auf Basis des Joomla-Plugin, welches statt des Benutzernamen die E-Mail Adresse abfragt. Ich weiß nicht ob das schon jemand erstellt hat. Ich wollte es für meine Vereinsseite ansonsten auch noch machen. Schon mal bei den Extensions geschaut?

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Ich weiß nicht ob das schon jemand erstellt hat. Ich wollte es für meine Vereinsseite ansonsten auch noch machen.

    weiß ich nicht. Noch nie probiert.

    Hier geht's zwar wegen dem Mail, aber dürfte ausprobiert worden sein:

    Liebe Grüße

    Christine

  • Im Prinzip ist es mit Joomla! 4 relativ einfach, wenn du als Aufgabe hast, den Benutzername komplett nicht mehr zu verwenden sondern rein auf die Email zu gehen:

    - Override von Language Strings (Username => Email)

    - Override von Registrierung (Username rausnehmen)

    - kleines Plugin was u.a. folgendes macht:

    Das wars schon.

  • Ich habe mein Plugin auch fertig, welches auf das Joomla Standard Plugin basiert.

    Im Endeffekt wird die Abfrage erweitert, so dass der User sich entweder mit seinem Benutzernamen oder E-Mail Adresse anmelden kann.

    PHP
    $query = $db->getQuery(true)
    ->select($db->quoteName(['id', 'password','username']))
    ->from($db->quoteName('#__users'))
    ->where($db->quoteName('username') . ' = :username', 'OR')
    ->where($db->quoteName('email') . ' = :email')
    ->bind(':username', $credentials['username'])
    ->bind(':email', $credentials['username']);

    Etwas tiefer muss noch zusätzlich angegeben werden:

    PHP
    $response->username = $result->username;
    $credentials['username'] = $result->username;

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Darf ich das Thema noch einmal aufwärmen? Wie sieht es hier mit Joomla 5/6 aus? Für meine Begriffe wäre das ja eigentlich ein Core-Feature. Wisst ihr zufällig, ob da bei Joomla was in Arbeit ist oder bleibt nach wie vor nur der Umweg über ein Plugin?

    Btw. es geht im Grunde nicht nur um den Login per E-Mail-Adresse, sondern auch um die Registrierung. Also der Benutzer soll praktisch niemals mit einem Benutzernamen konfrontiert werden.

    LukasHH Ist dein Plugin Joomla5/6-ready?

    Cheers Vanbrugg

  • Im Prinzip ist es mit Joomla! 4 relativ einfach, wenn du als Aufgabe hast, den Benutzername komplett nicht mehr zu verwenden sondern rein auf die Email zu gehen:

    - Override von Language Strings (Username => Email)

    - Override von Registrierung (Username rausnehmen)

    Hab gerade noch deinen Beitrag näher durchdacht. Eigentlich eine witzige Idee - einfach alle Strings umbenennen. Technisch bleibt es damit beim Benutzernamen - visuell hingegen registriert man sich mit der E-Mail-Adresse. Das passt insofern sogar, weil es auch nicht unüblich ist, die E-Mail-Adresse zweimal - quasi als Bestätigung - einzugeben. Demnach gibt der User seine E-Mail-Adresse erstmalig (als Benutzername) ein und beim zweiten - dem eigentlichen - E-Mail-Feld - gibt er seine Adresse quasi als Bestätigung ein. Damit hätten wir die E-Mail-Adresse - technisch betrachtet - zweimal pro User im System. Wen das nicht stört, hat damit einen einfach zu realisierenden Workaround.

    bembelimen Was ich allerdings nicht ganz verstehe - was genau macht dein Plugin? (Bin kein Coder)

    Cheers Vanbrugg

  • Darf ich das Thema noch einmal aufwärmen? Wie sieht es hier mit Joomla 5/6 aus? Für meine Begriffe wäre das ja eigentlich ein Core-Feature. Wisst ihr zufällig, ob da bei Joomla was in Arbeit ist oder bleibt nach wie vor nur der Umweg über ein Plugin?

    Btw. es geht im Grunde nicht nur um den Login per E-Mail-Adresse, sondern auch um die Registrierung. Also der Benutzer soll praktisch niemals mit einem Benutzernamen konfrontiert werden.

    Hackwar - Hannes:

    Kannst Du bitte im Thread bzw. hier nachschauen?

    Users: Add option to use e-mail as username · Issue #44644 · joomla/joomla-cms
    Is your feature request related to a problem? Please describe. People nowadays normally don't use usernames anymore, but their email address as username.…
    github.com

    Danke,
    Christine

  • Hi Leute,

    hier ein Plugin, das ich GAAANZ alleine gebastelt habe. :saint:

    Das ist natürlich auf meinen Bedarf zugeschnitten, kann aber leicht angepasst werden.

    Was hab ich gemacht?
    1. Template-Override von com_users/registration/default.php
    2. In der default.php habe ich die Schleife auskommentiert, die die Formularfelder der Reihe nach rendert. Das ist in der Regel in Zeile 32/33 ungefähr.
    3. Folgenden Code platziert:

    Damit legt man manuell fest, dass die ersten drei Felder "Name", "E-Mail" und "Benutzername" sind.
    Praktisch verwende ich das Feld "Benutzername" als zweites E-Mail-Feld. Das heißt ich benenne die jeweiligen Sprachschlüssel (Sprach-Override) des Feldes "Benutzername" in "E-Mail bestätigen" um.

    Anschließend installiere man das Plugin (siehe Anhang). Das sorgt dafür, dass bei der Registrierung geprüft wird, ob die Felder "E-Mail" und "Benutzername" (was ja umbenannt wurde) identisch sind. Falls nicht, gibt es eine Fehlermeldung.

    Hab's getestet. Klappt mit Joomla 5.

    Viel Spaß damit! chinese

  • Kleine Idee:

    blende das Username-Feld aus und nutze dein Plugin in der Art und Weise, dass du das "onContentBeforeValidateData-Event" benutzt und vor der Validierung einfach die Email-Adresse auch als Username setzt. Dann muss der User nicht dran denken, dass er die Email-Adresse zweimal eingeben muss (und sie müssen identisch sein) sondern es passiert einfach automatisch.

    Edit: gerade gesehen, hab gesehen, das hab ich schon erzählt.

  • LukasHH Ist dein Plugin Joomla5/6-ready?

    Ich habe noch das von J4 im Einsatz, läuft aber auch unter J5 ohne Probleme. Für J6 würde ich es anpassen. ich dachte, ich habe es schon auf github veröffentlicht, aber scheinbar doch noch nicht gemacht.

    Der Ansatz vom #9 ist dabei der gleiche und funktioniert bisher ohne Probleme.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.