Erweiterung der Regeln für gültige Passwörter
Hallo zusammen,
ich muß für ein Projekt die Vergabe eines neuen Passworts an ein Member erweitern.
Wenn ich das korrekt nachgelesen habe, wird in modules/registration/ModulePassword.php "nur" die Längenvorgabe für ein neues Passwort geprüft.
Ich benötige hier aber noch weitere Prüfungen bzgl. Passwort-Komplexität, die bei Scheitern auch dem User kommuniziert werden müssen.
Ich habe mich gestern etwas duch die beteiligten Module gelesen und hätte gerne eure Meinung/Einschätzung zu meinem Ansatz (vielleicht denke ich ja auch zu kompliziert):
Um möglichst updatesicher zu sein, erstelle ich ein eigenes Modul, das ich unter
PHP-Code:
$GLOBALS['FE_MOD']['user']['lostPassword'] = 'MyExtendedModulePassword';
registriere. Über einer Erweiterung der Datenbank erstelle ich neue Felder wie z.B. eines in tl_member, das
speichert, wann das Passwort zuletzt geändert wurde. Außerdem lege ich eine neue Tabelle mit der
Passworthistorie an
Code:
id | userid | altes_pwd
mit der ich ggf. prüfen kann, ob ein neues Passwort gültig ist, weil von diesem User noch nicht (oder "schon länger nicht") vergeben wurde.
Das oben registrierte MyExtendedModulePassword.php sieht dann in etwas so aus.
PHP-Code:
class MyExtendedModulePassword extends ModulePassword {
/**
* Set the new password
*/
protected function setNewPassword() {
// hier bestehenden Code dupliziert und eigene Erweiterungen eingetragen
// nicht elegant :-(
}
}
Alternative: die bestehende ModulePassword.php patchen und einen Hook einbauen (habe ich im Hook überhaupt Zugriff auf den User und das $this um Templatevariablen zu setzen und ggf. das Template zu wechseln?).
Der vorgesehene Hook aus $GLOBALS['TL_HOOKS']['setNewPassword'] hilft mir leider nicht weiter (?), da an dieser Stelle das neue Passwort ja bereits gesetzt ist.
Für die Ausgabe einer Meldung an den User, der ein neues Passwort vergeben will fällt mir (alternativ) ein, ein eigenes Widget in Anlehnung an system/modules/FormPassword.php zu implementieren. In dessen
PHP-Code:
protected function validator($varInput) { }
könnten der Verifikationscode und die Meldungen an den User untergebracht werden.
Dieses Widget wäre dann unter
PHP-Code:
$GLOBALS['TL_FFL']['password']
zu registrieren? Das neue Widget hätte durch
PHP-Code:
Widget extends Controller extends System
auch die Möglichkeit auf den User zuzugreifen und in die Datenbank zu schreiben?
Danke für eure Meinungen!
Passwort Regeln für Benutzer definieren
Hallo,
habe diesen Thread gelesen. Das hier ist im Prinzip genau mein Problem. Habe Contao 3.0.6 im Einsatz und benötige eine Erweiterung oder Anleitung für Passwortvorgaben. Die Erweiterung SecurePassword funktioniert unter meiner Installation nicht. Konntest du deine Anforderung lösen und hast einen Tipp für mich?
Vielen Dank! Isa
Komplexitätsvorgabe der PW
Aber wie realisiert ihr unabhängig von einer Passworthistorie und dem Verschlüsselungsproblem eine Steigerung der Passwortkomplexität? Es sollen so wie bei SecurePassword einfach Vorgaben gemacht werden, die bei der Passwortwahl einzuhalten sind und entsprechend bei der Vergabe geprüft werden müssen. Wie steuert ihr die Einhaltung der Mindestanforderungen an Passwörter?
Passwortkomplexität vorgeben
Zitat:
Zitat von
fiedsch
SecurePassword. Habe es aber noch nicht mit Contao 3.x probiert. Was funktioniert denn bei Dir nicht?
Die Installation der Erweiterung ist erfolgreich, die Auswahl der Vorgaben unter Einstellungen funktioniert. Wenn ich dann im Benutzer das Passwort neu vergebe und abspeichern möchte, verschwindet der Seiteninhalt und eine weiße Seite wird mir angezeigt.