# NFR Requirements — Unit 02: Identity & RBAC Dit document specificeert de non-functionele vereisten voor identiteitsbeheer en autorisatie. ## 1. Beveiliging (Security) - **ID-SEC-01: Wachtwoordbeleid**: - Minimale lengte: 8 tekens. - Geen verplichte complexiteitseisen (hoofdletters/cijfers), focus op lengte voor gebruiksvriendelijkheid. - **ID-SEC-02: Token Lifecycle**: - Access Token (JWT) vervaltijd: 1 uur. - Refresh Token vervaltijd: 7 dagen. - **ID-SEC-03: Audit Logging**: - Verplichte persistente logging van: - Gebruikerscreatie en uitnodigingen. - Rolwijzigingen. - Activatie/Deactivatie van accounts. - Mislukte login pogingen. - **ID-SEC-04: Data Privacy**: - Wachtwoorden worden nooit in plain-text opgeslagen. - Persoonlijke gegevens (PII) worden alleen via HTTPS ontsloten. ## 2. Performance - **ID-PERF-01: Token Validatie**: - De validatie van het JWT token bij elk request mag niet meer dan 5ms overhead toevoegen. - **ID-PERF-02: Database Querying**: - Het ophalen van een gebruiker inclusief rollen en permissies moet binnen 20ms gebeuren (geïndexeerd op Email). ## 3. Onderhoudbaarheid (Maintainability) - **ID-MAINT-01: Database Schema**: - Gebruik van schone tabelnamen zonder `AspNet` prefix (bijv. `Users`, `Roles`, `UserRoles`). - **ID-MAINT-02: EF Core Migrations**: - Alle wijzigingen aan het identiteitsschema worden via code-first migrations bijgehouden.