Files
root 88fbaa5702 v2.6.1c (Lyra): Admin gebruikersbeheer opnieuw ontworpen + CLI reset
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
2026-08-17 15:10:40 +00:00

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

  1. Klik op Nieuwe gebruiker (rechtsboven in de lijst)
  2. Vul gebruikersnaam, wachtwoord (minimaal 8 tekens), e-mail, auteur naam en auteur e-mail in
  3. Selecteer een rol
  4. Klik Gebruiker toevoegen
  5. 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.php via AdminAuth::hasPermission()
  • Onbevoegde routes geven een 403 error
  • Sidebar items worden conditioneel getoond via de has_permission() Twig function in admin.twig