UC-BEH-SET-006 — Beheerlog-overzicht raadplegen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-BEH-SET-006 |
| Naam | Beheerlog-overzicht raadplegen |
| 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-007, UC-BEH-FEAT-002, UC-BEH-FEAT-004, UC-BEH-SET-002 |
| Primaire entiteiten | SiteFeatureToggleHistory, SiteNotificationHistory, ContentBlockHistory, PopupHistory, SystemMessageTemplateHistory, SystemSettingHistory, Users |
| Secundaire entiteiten / events | AdminAuditLogRead |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Ontwerpbronnen — Popup-register |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een beheerder een centraal beheerlogoverzicht raadpleegt. Het overzicht is een readmodel over beheerhistorie uit de verschillende beheeronderdelen, zoals featuretoggles, systeemnotificaties, contentblokken, popupbeheer, systeemberichttemplates en systeeminstellingen.
Het beheerlogoverzicht is bedoeld voor supportanalyse en reconstructie van beheeracties. Het is niet de bron voor het wijzigen van records en vervangt de specifieke historysecties op objectniveau niet.
Per regel worden minimaal datum/tijd, actor, domein, objectreferentie, actie, korte samenvatting en eventueel oude en nieuwe waarde of een link naar detail getoond.
Uitgangspunten
- Beheerlog is een readmodel over bestaande history- en auditbronnen.
- Raadplegen van het log schrijft geen nieuwe businessmutatie.
- Geanonimiseerde of inactieve actors worden veilig weergegeven.
- Technische secrets, tokens en credentials worden nooit in beheerlog getoond.
3. Scope
Deze usecase beschrijft:
- Tonen van een chronologisch beheerlogoverzicht.
- Samenvoegen van relevante historybronnen tot één readmodel.
- Ondersteunen van basisfilters op domein, actor en periode.
- Veilig tonen van actorinformatie.
- Doorgang naar detailweergave.
Deze usecase beschrijft niet:
- Wijzigen of herstellen van beheeracties.
- Volledige technische applicatielogging.
- Identity-providerlogs tonen.
- Gevoelige secrets of credentials weergeven.
- Historyrecords verwijderen.
3.1 Afbakening met aangrenzende usecases
| Onderdeel | Afbakening |
|---|---|
| UC-BEH-SET-007 | Filtert en opent detail van een beheerlogregel. |
| Objectspecifieke usecases | Blijven bronhoudend voor hun eigen historyregistratie. |
| Accountbeheer | Accountspecifieke lifecycle-logging blijft bronhoudend binnen Accountbeheer en kan als readmodelbron worden opgenomen wanneer de beheerder daarvoor bevoegd is. |
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 | Er zijn history- of auditbronnen beschikbaar voor beheeronderdelen. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De beheerder ziet beheeracties in chronologische volgorde. |
| POST-002 | Geen historyrecord is gewijzigd. |
| POST-003 | Gevoelige waarden zijn niet zichtbaar. |
| POST-004 | De beheerder kan filteren of doorklikken naar detail. |
| POST-005 | Onbeschikbare bronnen worden veilig afgehandeld. |
6. Trigger
De usecase start wanneer de beheerder de beheerlogpagina opent.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Beheerder | Beheerlog | Opent het beheerlogoverzicht. | De frontend vraagt het logreadmodel op. | Geen mutatie. |
| 2 | Backend | Autorisatiecomponent | Controleert beheerdercontext. | Alleen beheerders mogen beheerlog lezen. | Server-side autorisatie. |
| 3 | Backend | Logreadmodel | Bepaalt standaardperiode en sortering. | Standaard wordt meest recent eerst getoond. | Periodefilter. |
| 4 | Backend | Historybronnen | Leest relevante historytabellen of auditkanalen. | Records worden genormaliseerd naar één readmodel. | Historybronnen. |
| 5 | Backend | Privacyfilter | Verwijdert of maskeert gevoelige waarden. | Secrets en credentials worden nooit getoond. | Dataminimalisatie. |
| 6 | Frontend | Overzicht | Toont regels met datum, actor, domein, actie en samenvatting. | De beheerder kan filteren of detail openen. | Read-only. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 2 | Gebruiker is geen beheerder. | Toegang wordt geweigerd. | Niet van toepassing. | Geen. |
| ALT-002 | 4 | Een historybron is tijdelijk niet beschikbaar. | Het overzicht toont beschikbare bronnen en een veilige foutmelding voor ontbrekende bron. | Niet van toepassing. | Geen. |
| ALT-003 | 5 | Actor is geanonimiseerd. | Het overzicht toont geanonimiseerde actorweergave zonder persoonsgegevens. | Niet van toepassing. | Geen. |
| ALT-004 | 5 | History bevat technische waarde die niet zichtbaar mag zijn. | De waarde wordt gemaskeerd of niet opgenomen. | Niet van toepassing. | Geen. |
| ALT-005 | 6 | Er zijn geen records binnen filter. | De pagina toont lege staat. | Niet van toepassing. | Geen. |
9. Business rules
| ID | Business rule |
|---|---|
| BR-001 | Beheerlog is read-only. |
| BR-002 | Beheerlog toont geen wachtwoorden, tokens, secrets of identity-providercredentials. |
| BR-003 | Actorweergave moet privacyveilig zijn bij geanonimiseerde gebruikers. |
| BR-004 | Sortering is standaard aflopend op actietijdstip. |
| BR-005 | Het logreadmodel mag specifieke objecthistorie samenbrengen maar niet herschrijven. |
| BR-006 | Raadplegen van beheerlog is geen businessmutatie. |
| BR-007 | Beheerlog vervangt niet de objectspecifieke geschiedenis op de beheerpagina’s. |
10. Datavalidatie
| ID | Validatie |
|---|---|
| VAL-001 | Periodefilters moeten geldige datumbereiken zijn. |
| VAL-002 | Domeinfilter mag alleen bekende beheergebieden bevatten. |
| VAL-003 | Actorfilter mag geen toegang geven tot persoonsgegevens buiten beheercontext. |
| VAL-004 | Objectreferenties worden als functionele referentie getoond, niet als ruwe interne GUID wanneer dat niet nodig is. |
| VAL-005 | Gevoelige waardetypen worden gemaskeerd. |
| VAL-006 | Paginering of limieten voorkomen onnodig zware queries. |
11. Datamutaties en events
| ID | Mutatie / event | Toelichting |
|---|---|---|
| MUT-001 | Geen functionele mutatie | Raadplegen schrijft geen beheerrecords. |
12. Geen datamutaties
| ID | Geen mutatie | Reden |
|---|---|---|
| NO-001 | Historybronnen | Bestaande historyrecords blijven ongewijzigd. |
| NO-002 | Beheerde objecten | Featuretoggles, notificaties, contentblokken, popups en instellingen wijzigen niet. |
| NO-003 | Users | Actorinformatie wordt niet aangepast. |
| NO-004 | Identity provider | Geen externe log of credentialmutatie. |
| NO-005 | Configuratiecache | Raadplegen van beheerlog ververst geen configuratiecache. |
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 beheerlog als centraal read-only overzicht over beheeracties. |
| Technisch Ontwerp | Technisch Ontwerp: logging en foutafhandeling, security en configuratie en beheer en operatie beschrijven de technische uitwerking. Vraagt normalisatie over meerdere historybronnen en privacyfiltering. |
| Software Requirements Specification | Levert eisen voor filtering, sortering, masking 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-006-REQ-001 | SRS-RDM-001 SRS-RDM-004 SRS-ADM-001 AC-RDM-001 AC-RDM-004 AC-ADM-001 | Beheerders een centraal beheerlogoverzicht bieden |
UC-BEH-SET-006-REQ-002 | SRS-ADM-001 SRS-NFR-AUD-001 AC-ADM-001 AC-NFR-AUD-001 | Beheerlogregels uit meerdere historybronnen kunnen normaliseren |
UC-BEH-SET-006-REQ-003 | SRS-ADM-001 AC-ADM-001 | Beheerlog standaard aflopend op tijd tonen |
UC-BEH-SET-006-REQ-004 | SRS-ADM-001 AC-ADM-001 | Gevoelige waarden maskeren of uitsluiten |
UC-BEH-SET-006-REQ-005 | SRS-ADM-001 AC-ADM-001 | Bij raadplegen geen beheerde records wijzigen |
UC-BEH-SET-006-REQ-006 | SRS-ADM-003 SRS-ADM-001 SRS-NFR-SEC-001 SRS-NFR-PRV-001 AC-ADM-003 AC-ADM-001 AC-NFR-SEC-001 AC-NFR-PRV-001 | Geanonimiseerde actors privacyveilig tonen |
UC-BEH-SET-006-REQ-007 | SRS-AUTH-001 SRS-ADM-001 AC-AUTH-001 AC-ADM-001 | Beheerlog server-side beperken tot beheerders |