2.3 KiB
2.3 KiB
Functional Design Plan — Unit 02: Identity & RBAC
Dit plan beschrijft de stappen voor het functioneel ontwerpen van de Identity & Role-Based Access Control (RBAC) module (Unit 02).
Functional Design Stappen
- Analyseren van de hiërarchische rollen logica (Eigenaar > Beheerder > Gebruiker).
- Ontwerpen van de gebruikersbeheer workflows (aanmaken, wijzigen, verwijderen).
- Definiëren van de JWT authenticatie flow (login, token refresh).
- Uitwerken van de autorisatie regels voor module-specifieke rechten.
- Opstellen van de domein entiteiten (User, Role, Token).
Vragen voor Functional Design (Unit 02)
1. Initiële Gebruiker (Bootstrapping)
Vraag 1.1: Hoe moet de allereerste "Eigenaar" (Owner) van het systeem worden aangemaakt?
- A) Via een database seed script bij de eerste start.
- B) Via een specifieke configuratie in
appsettings.json. - C) Via een verborgen/tijdelijk endpoint dat na eerste gebruik wordt gedeactiveerd.
2. Gebruikersuitnodiging (FR-03)
Vraag 2.1: Voor de creatie van nieuwe gebruikers: welke methode heeft de voorkeur voor de MVP?
- A) Direct: Beheerder vult e-mail, rol én wachtwoord in. Account is direct actief.
- B) Uitnodiging: Beheerder vult e-mail en rol in; systeem genereert een tijdelijk token/link waarmee de gebruiker zelf een wachtwoord instelt.
3. Hiërarchie Handhaving
Vraag 3.1: Waar moet de hiërarchie-controle (bijv. Beheerder mag Eigenaar niet wijzigen) primair plaatsvinden?
- A) Service Layer: In de
IUserServicewordt bij elke actie gecontroleerd of de uitvoerder voldoende rechten heeft t.o.v. de doelgebruiker. - B) Authorization Policies: Gebruikmaken van custom
RequirementHandlersdie de hiërarchie valideren voordat de controller actie wordt aangeroepen.
4. Refresh Tokens
Vraag 4.1: Hoe moeten Refresh Tokens worden opgeslagen?
- A) In de SQL database (gekoppeld aan de Gebruiker).
- B) In-memory (alleen geschikt voor single-instance, gaat verloren bij restart).
- C) Geen refresh tokens in de eerste versie van de MVP (alleen access tokens).
Volgende Stappen
Na beantwoording van deze vragen worden de artifacts (business-rules.md, logic-model.md, entities.md) gegenereerd in aidlc-docs/construction/identity-rbac/functional-design/.