Skip to main content

UC-BEH-ACC-010 — Accountgeschiedenis en lifecyclelog bekijken

1. Kerngegevens

VeldWaarde
Usecase-IDUC-BEH-ACC-010
NaamAccountgeschiedenis en lifecyclelog bekijken
DomeinBeheerder / Accountbeheer
Primaire actorBeheerder
Secundaire actor(en)Frontend, backend, database, autorisatiecomponent, identity-providerkoppeling, accountlogkanaal
RolcontextActieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker
Betrokken schermenAccounts beheren > Accountdetail > Geschiedenis
Gerelateerde usecasesUC-BEH-ACC-001, UC-BEH-ACC-002, UC-BEH-ACC-003, UC-BEH-ACC-004, UC-BEH-ACC-005, UC-BEH-ACC-006, UC-BEH-ACC-007, UC-BEH-ACC-008, UC-BEH-ACC-009, UC-GEN-ACC-001, UC-GEN-ACC-002, UC-GEN-ACC-005
Primaire entiteitenUsers, Roles, UserRoles, UserSettings, ProfileAvatars, accountlogkanaal
Secundaire entiteiten / eventsUserRelationships, RelationshipInvitations, TeacherLevels, TeacherLevelAuthorizations, LevelCollaborators, ExerciseRuns, LiveViewAudit, SystemMessages, PrivateMessageThreads, Tickets
Gerelateerde popupsNiet van toepassing
PopupregisterOntwerpbronnen — Popup-register
MoSCoWMust

2. Omschrijving

De usecase beschrijft hoe een beheerder accountgeschiedenis en lifecyclelog raadpleegt. Deze weergave combineert functionele accountmutaties zoals rolwijzigingen, deactiveren, heractiveren, instellingenwijzigingen en anonimisering met afgeschermde accountlogregels waar dat functioneel nodig is.

De geschiedenis is bedoeld voor audit, support en reconstructie. Zij toont geen wachtwoorden, tokens, secrets of credentialstatus en mag gevoelige oude identiteit alleen tonen binnen afgeschermde beheer- of technische context die daarvoor bedoeld is.

De weergave is read-only. Logregels worden door andere lifecycle- en beheeracties geschreven; deze usecase schrijft geen nieuwe logregels voor het raadplegen zelf.

Uitgangspunten

  • Accountlifecycleacties worden in een afgeschermd accountlogkanaal vastgelegd.
  • UserRoles bevat auditvelden voor roltoekenning en intrekking.
  • UserSettings-wijzigingen door beheerder worden met oude en nieuwe waarde gelogd.
  • Anonimisering logt oude en nieuwe identiteit afgeschermd.
  • De geschiedenisweergave is read-only.

3. Scope

Deze usecase beschrijft:

  • Tonen van rolgeschiedenis uit UserRoles.
  • Tonen van accountstatus- en lifecycleacties uit accountlogkanaal.
  • Tonen van beheerderwijzigingen van UserSettings.
  • Filteren op type gebeurtenis en periode.
  • Veilig maskeren van gevoelige oude identiteit waar nodig.
  • Afbakening van credentialgegevens buiten OefenHub.

Deze usecase beschrijft niet:

  • Wachtwoorden, tokens, secrets, identity-provider-sessies of credentialstatus beheren.
  • Een Keycloak- of identity-provideraccount rechtstreeks wijzigen of verwijderen.
  • Vrij relatiebeheer tussen gebruikers uitvoeren; relatieflows blijven bronhoudend in het relatiedomein.
  • Profielwijzigingen als selfservice-gebruikersflow dupliceren; eigen profielbeheer blijft bronhoudend in generiek/profiel.
  • Popupteksten, knopteksten of inputlabels specificeren; usecases verwijzen uitsluitend naar PopupKey.
  • Logregels wijzigen, verwijderen of corrigeren.
  • Technische stacktraces of secrets tonen.
  • Volledige domeinhistorie van relaties, tickets of oefeningen in accountgeschiedenis opnemen.
  • Auditrapportages genereren; deze usecase beperkt zich tot raadpleging van accountgeschiedenis en lifecyclelog.

3.1 Afbakening met aangrenzende domeinen

OnderdeelAfbakening
Generiek / AccountLogin, provisioning, logout en selfservice-accountverwijdering blijven bronhoudend in het generieke accountdomein.
Generiek / Profiel en voorkeurenEigen profiel- en voorkeurenbeheer blijft gebruikergericht; accountbeheer bevat alleen beheerdercorrecties en uitzonderingsacties.
Generiek / RelatiesRelatie-uitnodigingen, acceptatie en normale ontkoppeling blijven in het relatiedomein; accountbeheer kan wel afhankelijke toegang beëindigen bij lifecycle-acties.
Beheerder / DocentondersteuningDocentstructuur, leerlingtoegang en collaborators worden daar supportmatig beheerd; accountbeheer ziet accountbrede identiteit, rollen en lifecycle.
Identity providerAuthenticatie, wachtwoorden, verificatie, tokens en credentials blijven buiten OefenHub-accountbeheer.

4. Pre-condities

IDVoorwaarde
PRE-001De gebruiker is succesvol ingelogd in OefenHub.
PRE-002De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft.
PRE-003De beheerder bevindt zich binnen Accounts beheren of een onderliggende accountbeheerroute.
PRE-004Clientstate, routeparameters of verborgen formuliervelden bepalen nooit welk account gewijzigd mag worden.
PRE-005De identity provider blijft bronhouder voor authenticatie, wachtwoorden, tokens, sessies en credential lifecycle.
PRE-006De beheerder heeft accountdetail geopend.
PRE-007Het doelaccount bestaat of is als geanonimiseerd historisch account raadpleegbaar.
PRE-008De accountlogbron is beschikbaar of veilig niet-beschikbaar.

5. Post-condities

IDResultaat
POST-001De beheerder ziet accountgeschiedenis en lifecyclelog binnen toegestane grenzen.
POST-002Geen logregel of accountdata is gewijzigd.
POST-003Gevoelige credentialinformatie is niet getoond.
POST-004Afgeschermde oude identiteit wordt alleen getoond wanneer de beheercontext dit toestaat.
POST-005Filters wijzigen alleen de weergave.

6. Trigger

De usecase start wanneer de beheerder in accountdetail de tab Geschiedenis of Lifecyclelog opent.

7. Normale processtroom

StapActorComponent / contextActieResultaatData / controle
1BeheerderAccountdetailOpent Geschiedenis.De frontend vraagt accountgeschiedenis op.Users.Id.
2BackendAutorisatiecomponentControleert beheerdercontext.Alleen beheerder mag accountgeschiedenis raadplegen.Server-side controle.
3BackendHistoryServiceLaadt rolgeschiedenis.Roltoekenning en intrekking worden toegevoegd.UserRoles.
4BackendAccountlogServiceLaadt accountlifecyclelog.Deactiveren, heractiveren, anonimisering en instellingenwijzigingen worden toegevoegd.Afgeschermd accountlogkanaal.
5BackendHistoryServiceMaskert gevoelige waarden.Wachtwoorden, tokens en secrets ontbreken volledig; oude identiteit wordt afgeschermd.Privacyfilter.
6FrontendGeschiedenisweergaveToont tijdlijn, filters en details.De beheerder kan filteren en detailregels openen.Read-only tijdlijn.

8. Alternatieve en exceptionele processtromen

StapSituatieAfhandelingPopupKeyDatagevolg
2Actor is geen beheerder.De toegang wordt geweigerd.Niet van toepassing.Geen.
3Rolgeschiedenis ontbreekt.De weergave toont overige logregels en markeert rolhistorie als niet beschikbaar.Niet van toepassing.Geen.
4Accountlogbron is niet beschikbaar.De pagina toont veilige foutmelding zonder te suggereren dat geen acties bestaan.Niet van toepassing.Geen.
5Logregel bevat gevoelige oude identiteit.De waarde wordt gemaskeerd of alleen in afgeschermde technische context getoond.Niet van toepassing.Geen.
6Filter levert geen resultaten.De pagina toont een lege gefilterde staat.Niet van toepassing.Geen.

9. Business rules

IDBusiness rule
BR-001Accountgeschiedenis is read-only.
BR-002Credentialgegevens worden nooit getoond.
BR-003Anonimisering kan oude en nieuwe identiteit afgeschermd loggen, maar normale UI toont geen persoonsgegevens van geanonimiseerde accounts.
BR-004Rolgeschiedenis komt uit UserRoles-auditvelden.
BR-005Lifecycleacties komen uit accountlogkanaal.
BR-006Filters wijzigen geen logdata.
BR-007Louter raadplegen schrijft geen nieuwe accountlogregel.

10. Datavalidatie

IDValidatie
VAL-001Users.Id of historische accountreferentie moet bestaan.
VAL-002Actor moet beheerder zijn.
VAL-003Filterwaarden voor periode en type moeten begrensd zijn.
VAL-004Logdetails mogen geen wachtwoorden, tokens, secrets of credentialstatus bevatten.
VAL-005Maskeringsregels worden server-side toegepast.
VAL-006Paginering voorkomt onbeperkte loguitvoer.

11. Datamutaties en events

OnderdeelMutatie / event
Geen domeinmutatieGeschiedenis raadplegen wijzigt geen accountdata.
Geen lifecycle-eventRaadplegen schrijft geen lifecyclelogregel of domeinevent.

12. Geen datamutaties

Object / gegevenNiet wijzigen
UsersGeen accountvelden wijzigen.
UserRolesGeen rolhistorie aanpassen.
UserSettingsGeen instelling wijzigen.
AccountlogkanaalGeen logregel wijzigen of verwijderen.
Identity providerGeen credentialinformatie lezen of wijzigen.

13. State diagram

Niet van toepassing. Deze usecase wijzigt geen persistente domeinstatus. De weergegeven toestand is een read-only scherm- of readmodeltoestand en wordt daarom niet als statusmodel opgenomen.

14. Decision flow

15. Data lifecycle diagram

16. Sequence diagrammen

17. Popupverwijzingen

Niet van toepassing

18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification

DocumentAfleiding
Functioneel OntwerpAccountbeheer bevat raadpleegbare geschiedenis en lifecyclelog voor audit en support.
Technisch OntwerpTechnisch Ontwerp: identiteit en accountlifecycle, autorisatie, logging en foutafhandeling en privacy en anonimisering beschrijven de technische uitwerking. HistoryService combineert UserRoles, UserSettings-beheerlog en accountlogkanaal met server-side maskering.
Software Requirements SpecificationSRS moet read-only karakter, masking en uitsluiting van credentials vastleggen.
DatabaseLeest UserRoles-auditvelden en accountlogkanaal; geen mutatie.

19. SRS-trace

Deze usecase bevat geen normatieve requirementtekst. De centrale eis en acceptatiecriteria staan in de SRS; onderstaande tabel koppelt de usecase-afleiding alleen aan centrale SRS-*- en AC-*-items.

Usecase-afleidingDektUsecasecontext
UC-BEH-ACC-010-REQ-001SRS-ACC-002
SRS-ADM-002
SRS-ADM-001
SRS-NFR-AUD-001
AC-ACC-002
AC-ADM-002
AC-ADM-001
AC-NFR-AUD-001
Een beheerder accountgeschiedenis kunnen tonen
UC-BEH-ACC-010-REQ-002SRS-ADM-002
SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-002
AC-ADM-001
AC-NFR-AUD-001
Rolgeschiedenis uit UserRoles kunnen tonen
UC-BEH-ACC-010-REQ-003SRS-ACC-002
SRS-ADM-002
SRS-ADM-001
AC-ACC-002
AC-ADM-002
AC-ADM-001
Lifecycleacties uit een accountlogkanaal kunnen tonen
UC-BEH-ACC-010-REQ-004SRS-ADM-001
AC-ADM-001
Gevoelige oude identiteit maskeren volgens beheercontext
UC-BEH-ACC-010-REQ-005SRS-ADM-001
SRS-NFR-SEC-001
SRS-NFR-PRV-001
SRS-ARCH-002
AC-ADM-001
AC-NFR-SEC-001
AC-NFR-PRV-001
AC-ARCH-002
Geen wachtwoorden, tokens, secrets of credentialstatus tonen
UC-BEH-ACC-010-REQ-006SRS-ADM-001
SRS-NFR-AUD-001
AC-ADM-001
AC-NFR-AUD-001
Geschiedenis read-only houden
UC-BEH-ACC-010-REQ-007SRS-RDM-001
SRS-RDM-006
SRS-ADM-001
SRS-NFR-AUD-001
AC-RDM-001
AC-RDM-006
AC-ADM-001
AC-NFR-AUD-001
Geschiedenis kunnen filteren en pagineren zonder datamutatie