Files
slp-modular-cms/aidlc-docs/features/slp-modular-cms-api/construction/plans/identity-rbac-functional-design-plan.md
T

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 IUserService wordt bij elke actie gecontroleerd of de uitvoerder voldoende rechten heeft t.o.v. de doelgebruiker.
  • B) Authorization Policies: Gebruikmaken van custom RequirementHandlers die 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/.