Hallo,
ich benutz die Erweiterung Mailusername.
Kann man beim Login irgendwie einfach hinbekommen das Groß und Kleinschreibeung des Benutzernames (der Email Adresse) egal ist?
MfG
supahr
Druckbare Version
Hallo,
ich benutz die Erweiterung Mailusername.
Kann man beim Login irgendwie einfach hinbekommen das Groß und Kleinschreibeung des Benutzernames (der Email Adresse) egal ist?
MfG
supahr
Ich hab' die Erweiterung mal in meiner 3.5.0-RC1 installiert, um das mit der Groß-/Kleinschreibung mal anzuschauen aber außer des Labels "Benutzername", dass in "E-Mail Adresse" wechselt, ändert sich nichts. Ich muss immernoch den Benutzernamen eingeben. Mit der E-Mail Adresse kann man sich nicht einloggen. Mach' ich da was falsch ?
EDIT: Hab's gefunden.
http://contao.klausgraf.fr/metamodel...lusername.html
Nach Installation der Erweiterung gilt für neue Mitglieder die E-Mail-Regel, für alte Mitglieder ändert sich nichts. Für sie gelten weiterhin die Benutzernamen-Regel solange dieser Datensatz nicht neu abgespeichert wird.
Ich vermute mal, dass Du somit ein Sicherheitselement von Contao ausschaltest.
Kannst Du nicht beim Erfassungsformular resp. Login hinweisen "Username=email, nur Kleinschrift verwenden!"
Anderseits kannst Du Dich beim verwenden der e-mail als Benutzername wohl nicht mehr mit einem anderen Benutzername anmelden?!
Darum, e-mail in Kleinschrift umwandeln macht mehr Sinn als beides zuzulassen.
http://de.wikipedia.org/wiki/E-Mail-Adresse
ich hatte zuerst Benutzernamen und jetzt auf Mail umgestellt.
E Mail Adressen in groß und kleinschreibung sind nun in der Datenbank. Von daher ist es für einen hinweis zu spät.
Das es tatsächlich unterscheidung zwischen groß und klein schreibung bei mails geben kann wusste ich nicht, allerdings kommt das wohl vernächlässigbar selten vor?
Wie kann ich alle Benutzernamenmailadressen ab sofort klein bekommen bei der Registrierung und wie die bisher gespeicherten klein machen?
Und auch beim Login klein wandeln bevor es mit der Datenbank gegengecheckt wird?
Ohne dabei sicherheitsmechanismen auszuhebelb
MfG
supahr
Kleine Frage nebenbei: Wie melden die alten Benutzer sich in Zukunft an ? Mit Benutzernamen oder mit E-Mail-Adresse ?
Falls mit E-Mail-Adresse, durch wen werden die über diese Änderung informiert ?
Und werden sich diese Benutzer noch erinnern, welche E-Mail-Adresse sie bei der Registrierung angegeben haben ?
ich hab die alten accounts mit
Auf "Mailloginaccounts" geupdated.Code:UPDATE tl_member SET username = email;
Beim Login hab ich eine Info Meldung, dass ab sofort nur Login per Mail stattfindet.
Wenn sich die User nicht daran erinnern müssen sie halt ihre Mailadressen durchprobieren. Vorher kamen zahlreiche beschwerden warum ein Benutzername nötig sei, welcher ständig vergessen wird.
Darum die zwangsumstellung auf Mailadresse die hoffentlich leichter zu merken ist.
Nur macht hier halt Groß Kleinschreibung keinen Sinn mehr. Und sich daran zu erinnern wie man die Mailadresse damals eingegeben hatte ist natürlich nahezu unmöglich.
Deshalb würde ich gerne die Großkleinschreibung beim Login ignorieren und oder alle bisherigen E Mailadressen to lowercase ändern und dies bei registrierung ab jetzt auch immer tun und bei login in kleinbuchstaben wandeln.
Um es idiotensicherer zu machen.
Nur wie geh ich da am besten ran ohne irgendwo sicherheitslücken einzubauen?
Von einer Sicherheitslücke zu sprechen, wenn man Groß- und Kleinschreibung bei einer E-Mail-Adresse ignorieren möchte, halte ich ja schon für übertrieben.
Dies aber in contao zu ändern, halte ich für nicht ganz einfach. Da muß man sicherlich irgendwo im core rumwühlen. Das ist natürlich nicht updatesicher und auf eigenes Risiko. Ich persönlich würde das schon versuchen. Der Programmteil darf nur nicht gleichzeitig für Benutzername und Paßwort zuständig sein. Das wäre dann allerdings sicherheitseinschränkend für das Paßwort.
Alle bisherigen Mail Addressen kann ich ja in der Tabelle direkt kleinmachen
Ja das ich im Core wühlen muss dachte ich mir, die Frage ist wie macht man es am besten, vielleicht auch update sicher?Code:update tl_member set email= lower(email)
geht das?
Hm... du könntest den importUser Hook missbrauchen. Du könntest dort überprüfen, ob es sich beim Benutzernamen um eine E-Mail Adresse handelt und mit einem case-insensitive query nachsehen, ob diese E-Mail Adresse als Benutzername in der Datenbank vorkommt. Wenn ja, dann überschreibst du per \Input::setPost('username', …); den Username so wie er in der Datenbank existiert und gibst true zurück. Das hat zur Folge, dass nach dem Hook der richtige User aus der Datenbank geladen wird. Siehe https://github.com/contao/core/blob/.../User.php#L237 und ff.
Dann braucht man doch nur noch den Text ändern:
==>
Vielleicht gibt's da eine Erweiterung oder ein eigenes Login-Formular erstellen. Da bin ich allerdings überfragt, da ich kein Entwickler bin.Zitat:
ab sofort nur Login per Mail (in Kleinbuchstaben !) stattfindet.
https://community.contao.org/de/show...l=1#post434047
Hier ist die einfache Lösung für das Problem