Nieuwe features: - Admin gebruikerslijst met zoeken/filter op gebruikersnaam en rol - Profiel bewerken pagina met wachtwoord wijzigen en rol wijzigen - Nieuwe gebruiker aanmaken via aparte pagina - CLI commando cli/reset-admin-password.php voor admin wachtword reset + lockout reset Architectuur: - /admin/users: lijst met zoekveld, rol filter, bewerk/verwijder acties - /admin/users-edit?user=<naam>: profiel, wachtwoord, rol, verwijderen - /admin/users-new: nieuwe gebruiker aanmaken - AdminAuth::clearLockout() public methode voor CLI gebruik Documentatie: - guide/nl/en/admin-beheerder/gebruikers.md herschreven - 15 nieuwe admin vertaalkeys in NL/EN/DE - Release notes: docs/release-notes/v2.6.1c.md Tests: - Pentest: 30/30 geslaagd, 0 vulnerabilities - WCAG 2.1 AA: 25/25 geslaagd, 100% compliance
2.9 KiB
2.9 KiB
Gebruikers
Gebruikers worden opgeslagen in admin/config/admin.json (file-based, geen database). Elke gebruiker heeft een rol die bepaalt welke admin routes en sidebar items zichtbaar zijn.
Rollen
CodePress kent vier rollen, gedefinieerd in AdminAuth::ROLE_PERMISSIONS:
| Rol | Label | Permissies |
|---|---|---|
admin |
Admin | Alles (*) |
content-manager |
Content Beheerder | Content beheer, handleiding |
bi-manager |
BI Beheerder | Statistieken, logs, handleiding |
site-admin |
Site Admin | Thema, plugins, statistieken, logs, update, handleiding |
Rollen worden getoond met hun label via AdminAuth::ROLE_LABELS.
Gebruikerslijst (/admin/users)
De gebruikerslijst toont alle gebruikers met hun gebruikersnaam, rol, login e-mail en aanmaakdatum.
Zoeken en filteren
- Zoekveld: zoek op gebruikersnaam, e-mail of auteur naam
- Rol filter: filter op een specifieke rol via de dropdown
- Klik op Filteren om de resultaten toe te passen
Nieuwe gebruiker aanmaken
- Klik op Nieuwe gebruiker (rechtsboven in de lijst)
- Vul gebruikersnaam, wachtwoord (minimaal 8 tekens), e-mail, auteur naam en auteur e-mail in
- Selecteer een rol
- Klik Gebruiker toevoegen
- Je wordt automatisch doorgestuurd naar de profiel pagina van de nieuwe gebruiker
Profiel bewerken (/admin/users-edit?user=<naam>)
Klik op een gebruiker in de lijst om het profiel te bewerken. De profiel pagina bevat drie secties:
Profiel gegevens
- Login e-mail, auteur naam en auteur e-mail kunnen worden gewijzigd
- De gebruikersnaam kan niet worden gewijzigd
Wachtwoord wijzigen
- Vul een nieuw wachtwoord in (minimaal 8 tekens)
- Bevestig het wachtwoord
- Het wachtwoord wordt opgeslagen als bcrypt hash
Rol wijzigen
- Toont de huidige rol met een gekleurde badge
- Selecteer een nieuwe rol uit de dropdown
- De wijziging beïnvloedt direct de zichtbare admin routes en sidebar items
Gebruiker verwijderen (Gevarenzone)
- Alleen zichtbaar voor andere gebruikers (niet voor je eigen account)
- Bevestiging via JavaScript dialog
- Na verwijderen keer je terug naar de gebruikerslijst
Admin wachtwoord reset via CLI
Als de admin is uitgesloten (bijv. door brute-force lockout of vergeten wachtwoord), kan het wachtwoord via de CLI worden gereset:
# Reset met een specifiek wachtwoord
php cli/reset-admin-password.php admin NieuwWachtwoord123
# Reset met een automatisch gegenereerd wachtwoord
php cli/reset-admin-password.php admin
Het commando:
- Wijzigt het wachtwoord (als bcrypt hash)
- Wist de brute-force lockout voor de gebruiker
- Toont het nieuwe wachtwoord in de terminal
Toegangscontrole
- Route access wordt gecontroleerd in
public/admin.phpviaAdminAuth::hasPermission() - Onbevoegde routes geven een 403 error
- Sidebar items worden conditioneel getoond via de
has_permission()Twig function inadmin.twig