-
-
Notifications
You must be signed in to change notification settings - Fork 213
Feature/force fe user change pw on login #6304
base: 3.5
Are you sure you want to change the base?
Feature/force fe user change pw on login #6304
Conversation
checks "crypt" passwords only
TODO: * add a table-layout template * add the translations
Was passiert wenn der Benutzer auf eine andere Seite navigiert (durch Eingabe der URL)? |
Beim ersten Mal ist Wenn der Nutzer einfach was anderes anklickt oder eine URL eingibt, ist eben beim ersten Mal Wie schon erwähnt, meines Erachtens nicht so schlimm, der Nutzer musste sich ja einloggen, um Eine andere Möglichkeit zum Passwortänderungszwang wäre den Login komplett zu verbieten (ist in der Datenbak schon vorgesehen) und ein "Passwort-Ändern-Mit-Angabe-des-Nutzernamen-und-Alten-Passworts-und-Zwei-Mal-Neues-Passwort"-Moduls. |
Ich finde nicht, dass wir das im Core brauchen. Im Backend ist das etwas anderes, weil hier die Passwörter vom Administrator generiert werden, aber im Frontend legt das Mitglied sein Passwort selbst fest, daher wäre es IMHO ausreichen, wenn man die Funktionalität optional per Extension nachrüstet. |
Ich hatte leider ein neues Posting aufgemacht aber ich bin auch dafür, dass man diese Funktion anbieten sollte. Jeder kann sich doch denken, dass nur die wenigsten User ein Passwort ändern, wenn man als Administrator einen Account für einen User angelegt hat. Aus meiner Sicht wäre es eine Funktion die in den Core gehört und nicht in eine seperate Extension. |
Wir besprechen das am besten mal in größerer Runde. @contao/developers |
be4a790
to
f080d88
Compare
930f397
to
5e7299d
Compare
We have briefly discussed this in Mumble on January 26th, and we need to wait with implementing this until we have switched authentication to Symfony security. |
@contao/developers We now have Symfony security, so how do we proceed with this? |
Kinda related to the |
The page can be set in the module settings, can't it? |
Not really, if we must prevent the user from accessing any other site in the page tree before he has changed the password. |
True. |
Stay on the same page and let the login front end module handle the confirmation? Would that work? |
Not really. As I wrote, the user can always navigate away and therefore bypass the password change.
|
Yeah we need an intermediate state. Something like "Password ok but needs to be changed" which means they are not logged in yet. So when they navigate away, they're logged out. |
As discussed in Mumble on September 27th, we want to try to implement this in the login module. |
Der Nutzer kann jetzt zum Passwortwechsel gezwungen werden.
Solange der Nutzer den Haken an pwChange hat, wird
FrontendUser::authenticate()
den Nutzer ablehnen, außer zur Eingab des neuen Passworts, inkl. Kontrolle auf "schon mal benutzt". Hier kann man das noch ausbauen, z. B. im BE konfigurierbar machen, wie lange die alten PWs nicht benutzt werden dürfen, ModuleLogin ist dafür "vorgerüstet"Wenn der Nutzer es geschafft hat, sein Passwort zu ändern, geht's weiter, wie bei Login (Weiterleitung ja/nein/Nutzergruppe).
Da die Konstante
FE_USER_LOGGED_IN
schon von index.php gesetzt wird, werden alle Funktionen, die zur Authentifizierung dies Konstante nutzen (und nichtFrontendUser::authenticate()
) nicht merken, dass der Nutzer eigentlich sein Passwort ändern soll. Solange das Passwort-Ändern-Formular desModuleLogin
eingeblendet ist, und noch ein Request weiter wirdFE_USER_LOGGED_IN
true
sein.Da der Nutzer um dahin zu gelangen sein altes Passwort eingeben musste, ist das meiner Meinung nach nicht so schlimm.