do-while / contao-pwsync-bundle
Automatically syncs the password of a Contao backend user with the frontend member (tl_member) who has the same username.
Package info
github.com/do-while/contao-pwsync-bundle
Type:contao-bundle
pkg:composer/do-while/contao-pwsync-bundle
Requires
- php: ^8.1
- contao/core-bundle: ^5.3
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Contao-Erweiterung, die das Passwort eines Backend-Users automatisch mit
dem Frontend-Mitglied (tl_member) mit demselben Benutzernamen abgleicht.
Funktionsweise
Wird im Backend ein Contao-User (tl_user) neu angelegt oder dessen
Passwort geändert, so wird dasselbe (bereits verschlüsselte) Passwort
automatisch auch beim Frontend-Mitglied mit identischem username
gesetzt -- vorausgesetzt, die Checkbox "Passwort auch beim
Frontend-User anpassen" ist am Backend-User aktiviert.
Das gilt für alle drei Wege, auf denen ein Backend-Passwort geändert werden kann:
- Anlage oder Bearbeitung durch einen Administrator,
- Selbstbearbeitung im eigenen Profil,
- erzwungener Passwortwechsel nach dem Login, wenn am User die Checkbox "Passwort-Änderung notwendig" gesetzt ist.
Es wird zu keinem Zeitpunkt ein Klartext-Passwort gelesen, gespeichert oder übertragen -- kopiert wird ausschließlich der bereits von Contao erzeugte Passwort-Hash.
Voraussetzungen
- Contao >= 5.3
- PHP >= 8.1
- Backend- und Frontend-User müssen mit demselben
Passwort-Hash-Algorithmus arbeiten. Das ist bei einer
Standard-Contao-Installation der Fall (
security.yaml:password_hashers: Contao\User: auto). Wurde dies in der Zielumgebung individuell abweichend konfiguriert, ist der übertragene Hash beim Frontend-Login ungültig.
Installation
composer require do-while/contao-pwsync-bundle
Anschließend im Contao Manager installieren/aktivieren und die
vorgeschlagene Datenbank-Migration ausführen (legt die neue Spalte
pwsyncEnabled in tl_user an).
Verwendung
- Backend-User anlegen oder bearbeiten.
- Checkbox "Passwort auch beim Frontend-User anpassen" aktivieren.
- Neues Passwort vergeben und speichern.
- Das Frontend-Mitglied mit demselben Benutzernamen kann sich ab sofort mit dem neuen Passwort einloggen.
Einschränkungen
- Der Abgleich erfolgt ausschließlich über eine exakte Übereinstimmung
von
tl_member.usernameundtl_user.username. - Existiert kein
tl_member-Datensatz mit passendem Benutzernamen, passiert nichts (kein Fehler). - Bei mehreren
tl_member-Treffern mit demselben Benutzernamen (sollte wegen des unique-Index eigentlich nicht vorkommen) wird nur der erste Treffer aktualisiert.
Lizenz
LGPL-3.0-or-later
Support
Fragen und Fehlermeldungen bitte über die GitHub Issues.
© Softleister 2026