UC-BEH-SET-007 — Beheerlog filteren en detail openen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-SET-007 |
| Naam | Beheerlog filteren en detail openen |
| Domein | Beheerder / Systeeminstellingen en beheerlogging |
| Primaire actor | Beheerder |
| Secundaire actor(en) | Frontend, backend, database, autorisatiecomponent, beheerlogcomponent |
| Rolcontext | Actieve beheerdercontext; server-side bepaald vanuit de ingelogde gebruiker |
| Betrokken schermen | Site Instellingen > Technische instellingen > Beheerlog |
| Gerelateerde usecases | UC-BEH-SET-006 |
| Primaire entiteiten | Beheerlogreadmodel, Historybronnen, Users |
| Secundaire entiteiten / events | AdminAuditLogRead |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een beheerder het beheerlog filtert en een detailregel opent. Filters beperken het readmodel op periode, domein, actor, actie of objectreferentie.
De detailweergave toont de functionele context van één beheeractie, waaronder oude en nieuwe waarde wanneer dit veilig en relevant is. Gevoelige waarden blijven gemaskeerd.
Filteren en detailraadpleging blijven read-only en wijzigen geen historyrecords of beheerde objecten.
Uitgangspunten
- Het beheerlogoverzicht uit UC-BEH-SET-006 is beschikbaar.
- Filters worden server-side toegepast.
- Detailweergave gebruikt dezelfde privacy- en maskingregels als het overzicht.
- Niet alle historybronnen hoeven exact dezelfde veldenset te hebben.
3. Scope
Deze usecase beschrijft:
- Toepassen van filters op beheerlog.
- Pagineren of beperken van resultaten.
- Openen van één detailregel.
- Tonen van oude en nieuwe waarden wanneer toegestaan.
- Veilig afhandelen van ontbrekende of geanonimiseerde actorinformatie.
Deze usecase beschrijft niet:
- Historyrecords aanpassen of verwijderen.
- Rollback van beheeracties.
- Technische stacktraces of serverlogs tonen.
- Credentials of secrets weergeven.
- Exportfunctionaliteit.
3.1 Afbakening met aangrenzende usecases
| Onderdeel | Afbakening |
|---|---|
| UC-BEH-SET-006 | Levert het basisoverzicht. |
| Objectspecifieke beheerpagina’s | Kunnen vanuit detail worden geopend wanneer de beheerder daarvoor rechten heeft. |
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker is succesvol ingelogd in OefenHub. |
| PRE-002 | De backend heeft server-side vastgesteld dat de gebruiker een actieve beheerderrol heeft. |
| PRE-003 | De Site Instellingen-route is beschikbaar via de beheerdernavigatie. |
| PRE-004 | Clientstate, querystringwaarden of zichtbare UI-elementen bepalen niet zelfstandig de autorisatie. |
| PRE-005 | Het beheerlogreadmodel is beschikbaar. |
| PRE-006 | De gekozen filters zijn door de frontend of backend te interpreteren. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | Het beheerlogoverzicht toont alleen records die binnen de server-side filters vallen. |
| POST-002 | De detailweergave toont één veilige, genormaliseerde logregel. |
| POST-003 | Geen historyrecord of beheerd object is gewijzigd. |
| POST-004 | Ongeldige filters zijn geweigerd of geneutraliseerd. |
| POST-005 | Gevoelige waarden blijven gemaskeerd. |
6. Trigger
De usecase start wanneer de beheerder filters invult op het beheerlogoverzicht of een beheerlogregel opent.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | Beheerlog | Voert filters in of kiest een periode. | De frontend verstuurt filtercriteria. | Periode, domein, actor, actie. |
| 2 | Backend | Autorisatiecomponent | Controleert beheerdercontext. | Alleen beheerders mogen filteren. | Server-side autorisatie. |
| 3 | Backend | Filtervalidatie | Valideert datumbereik, domein en invoer. | Ongeldige filters worden geweigerd of opgeschoond. | Validatie. |
| 4 | Backend | Historybronnen | Past filters server-side toe. | Alleen passende records worden opgehaald. | Readmodelquery. |
| 5 | Backend | Privacyfilter | Maskeert gevoelige waarden. | Waarden buiten scope worden niet teruggegeven. | Dataminimalisatie. |
| 6 | Frontend | Overzicht | Toont gefilterde resultaten. | De beheerder kan een regel openen. | Read-only. |
| 7 | Beheerder | Logregel | Opent detail. | De backend leest detailcontext opnieuw server-side. | Objectreferentie. |
| 8 | Frontend | Detailpaneel | Toont actor, domein, actie, tijdstip, object en veilige waarden. | Geen mutatieknoppen tenzij aparte beheerpagina. | Read-only. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 1 | Filterperiode is ongeldig. | Het systeem weigert het filter en behoudt vorige geldige resultaten. | Niet van toepassing. | Geen. |
| ALT-002 | 3 | Domeinfilter is onbekend. | De backend negeert of weigert het filter veilig. | Niet van toepassing. | Geen. |
| ALT-003 | 4 | Geen resultaten. | Het overzicht toont een lege staat. | Niet van toepassing. | Geen. |
| ALT-004 | 7 | Detailrecord bestaat niet meer of bron is niet beschikbaar. | De detailweergave toont niet-beschikbaar zonder ruwe foutinformatie. | Niet van toepassing. | Geen. |
| ALT-005 | 8 | Oude of nieuwe waarde bevat gevoelige inhoud. | De waarde wordt gemaskeerd of weggelaten. | Niet van toepassing. | Geen. |
9. Business rules
| ID | Business rule |
|---|---|
| BR-001 | Filters worden server-side toegepast. |
| BR-002 | Detailweergave is read-only. |
| BR-003 | Gevoelige waarden worden nooit zichtbaar gemaakt. |
| BR-004 | Paginering of limieten blijven actief bij brede filters. |
| BR-005 | Objectreferenties geven geen extra toegang buiten beheerautorisatie. |
| BR-006 | Een geanonimiseerde actor wordt privacyveilig weergegeven. |
| BR-007 | Het openen van detail wijzigt geen beheerlog of objecthistorie. |
10. Datavalidatie
| ID | Validatie |
|---|---|
| VAL-001 | Van-datum mag niet na tot-datum liggen. |
| VAL-002 | Domeinfilter moet behoren tot bekende beheergebieden. |
| VAL-003 | Actiefilter moet behoren tot bekende actieclassificaties of veilig als tekstfilter worden verwerkt. |
| VAL-004 | Vrije zoektekst wordt gesanitized en mag geen query-injectie veroorzaken. |
| VAL-005 | Detail-ID of objectreferentie wordt server-side gecontroleerd. |
| VAL-006 | Resultaatlimieten voorkomen zware onbeperkte queries. |
11. Datamutaties en events
| ID | Mutatie / event | Toelichting |
|---|---|---|
| MUT-001 | Geen functionele mutatie | Filteren en detail openen wijzigen geen records. |
12. Geen datamutaties
| ID | Geen mutatie | Reden |
|---|---|---|
| NO-001 | Historybronnen | Logrecords blijven ongewijzigd. |
| NO-002 | Beheerde objecten | Het openen van detail wijzigt geen onderliggend object. |
| NO-003 | Users | Actorinformatie wordt niet aangepast. |
| NO-004 | Configuratiecache | Geen cacheverversing door beheerlogfiltering. |
| NO-005 | Identity provider | Geen credential- of sessiemutatie. |
13. State diagram
Niet van toepassing. Deze usecase wijzigt geen persistent statusobject. De getoonde toestanden zijn readmodel- of UI-toestanden en worden daarom uitgewerkt in de decision flow en het data lifecycle diagram.
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
| Document | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijft filter- en detailgedrag binnen beheerlog. |
| Technisch Ontwerp | Technisch Ontwerp: logging en foutafhandeling, security en configuratie en beheer en operatie beschrijven de technische uitwerking. Vraagt server-side filters, querylimieten en masking. |
| Software Requirements Specification | Levert eisen voor filtervalidatie, detailweergave en read-only gedrag. |
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-afleiding | Dekt | Usecasecontext |
|---|---|---|
UC-BEH-SET-007-REQ-001 | SRS-AUTH-001 SRS-RDM-001 SRS-RDM-004 SRS-ADM-001 AC-AUTH-001 AC-RDM-001 AC-RDM-004 AC-ADM-001 | Beheerlog server-side kunnen filteren op periode, domein, actor en actie |
UC-BEH-SET-007-REQ-002 | SRS-RDM-001 SRS-RDM-009 SRS-ADM-001 SRS-NFR-SEC-001 AC-RDM-001 AC-RDM-009 AC-ADM-001 AC-NFR-SEC-001 | Ongeldig filtergebruik veilig afhandelen |
UC-BEH-SET-007-REQ-003 | SRS-ADM-001 SRS-NFR-AUD-001 AC-ADM-001 AC-NFR-AUD-001 | Detailweergave van één beheerlogregel ondersteunen |
UC-BEH-SET-007-REQ-004 | SRS-RDM-001 SRS-ADM-001 AC-RDM-001 AC-ADM-001 | Gevoelige waarden in overzicht en detail maskeren |
UC-BEH-SET-007-REQ-005 | SRS-ADM-001 AC-ADM-001 | Door detailweergave geen beheerde records wijzigen |
UC-BEH-SET-007-REQ-006 | SRS-RDM-001 SRS-RDM-006 SRS-ADM-001 SRS-NFR-PER-001 AC-RDM-001 AC-RDM-006 AC-ADM-001 AC-NFR-PER-001 | Resultaatlimieten of paginering ondersteunen |
UC-BEH-SET-007-REQ-007 | SRS-AUTH-001 SRS-ADM-001 AC-AUTH-001 AC-ADM-001 | Objectreferenties alleen tonen binnen de beheerautorisatie |