# 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`.

## Gebruiker toevoegen

1. Ga naar **Gebruikers**
2. Vul gebruikersnaam in
3. Kies wachtwoord (opgeslagen als bcrypt hash)
4. Selecteer een rol
5. Klik **Toevoegen**

## Gebruiker bewerken

- Wachtwoord wijzigen (nieuwe bcrypt hash)
- Rol wijzigen (beïnvloedt direct zichtbare routes en sidebar items)

## Gebruiker verwijderen

- Kan niet voor eigen account
- Bevestig met wachtwoord

## 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`