UC-GEN-ACC-006 — Uitloggen en sessie beëindigen
1. Kerngegevens
| Veld | Waarde |
|---|---|
| Usecase-ID | UC-GEN-ACC-006 |
| Naam | Uitloggen en sessie beëindigen |
| Domein | Generiek / Account |
| Primaire actor | Gebruiker |
| Secundaire actor(en) | OefenHub frontend, OefenHub backend, routeguard, identity provider, SignalR-/presence-laag, accountlogkanaal |
| Rolcontext | Ingelogde gebruiker met een geldige of verlopen OefenHub-applicatiesessie. De rolcontext kan leerling, ouder/voogd, docent, beheerder, gecombineerde rolcontext of beperkte context zonder rol zijn. |
| Betrokken schermen | Geauthenticeerde header of profielmenu; logoutcomponent; OefenHub sign-out endpoint; optionele identity-provider logoutroute; publieke startpagina; routeguard bij opnieuw openen van beveiligde routes. |
| Gerelateerde usecases | UC-GEN-ACC-002 — Inloggen en sessie verwerken; UC-GEN-ACC-003 — Geen rol of onvolledig account afhandelen; UC-GEN-PROF-006 — Toegankelijkheid vóór en na login synchroniseren; UC-GEN-NOT-001 — Systeemnotificatie tonen |
| Primaire entiteiten | Users, technische applicatiesessie, authenticatiecookie, identity-providercontext |
| Secundaire entiteiten / events | SignalR-verbindingen, technische presence-state, LiveViewAudit, accountlogkanaal, LogoutRequested, ApplicationSessionEnded, IdentityProviderLogoutRequested, LiveViewEndedByLogout |
| Gerelateerde popups | Niet van toepassing |
| Popupregister | Niet van toepassing |
| MoSCoW | Must |
2. Omschrijving
Deze usecase beschrijft hoe een gebruiker OefenHub verlaat door uit te loggen en hoe OefenHub de lokale applicatiesessie veilig beëindigt. De usecase is de afsluitende tegenhanger van UC-GEN-ACC-002, maar blijft technisch lichter: er wordt geen aparte sessietabel geïntroduceerd en er worden geen domeinrecords aangemaakt om een normale logout als businessobject vast te leggen.
Bij uitloggen verwijdert of beëindigt OefenHub de lokale applicatiecontext, zoals authenticatiecookie, server-side claimscontext, tijdelijke route- of frontendcontext en actieve realtime verbindingen. Wanneer de inrichting dit ondersteunt, wordt de gebruiker daarnaast doorgestuurd naar de logoutflow van de identity provider om ook de externe authenticatiesessie te beëindigen. De identity provider blijft bronhouder voor de primaire authenticatiesessie; OefenHub bewaart geen wachtwoorden, credentials of identity-providerinterne sessiegegevens.
Na uitloggen mag de gebruiker via browsergeschiedenis of oude clientstate geen beveiligde OefenHub-route meer gebruiken. Beveiligde routes moeten opnieuw via UC-GEN-ACC-002 worden gevalideerd. Niet-persoonsgebonden browserwaarden voor toegankelijkheid mogen blijven bestaan, omdat deze ook vóór login gebruikt kunnen worden en geen autorisatie- of identiteitsbron zijn.
3. Scope
Deze usecase omvat wel:
- starten van een logoutactie door een ingelogde gebruiker;
- beëindigen van de lokale OefenHub-applicatiesessie;
- verwijderen of ongeldig maken van authenticatiecookie, claims-cache en tijdelijke frontendcontext;
- beëindigen van actieve SignalR-verbindingen en realtime subscriptions van de gebruiker;
- optioneel doorsturen naar de identity-provider logoutflow wanneer dit technisch is ingericht;
- terugleiden naar de publieke startpagina of logincontext na succesvolle logout;
- blokkeren van beveiligde routes na logout via routeguard en server-side sessiecontrole;
- veilig omgaan met verlopen sessies, dubbele logoutpogingen en terugknoppen in de browser;
- beëindigen of afronden van technische live-viewercontext wanneer de uitloggende gebruiker live meekijkt;
- informeren van actieve meekijkers wanneer een leerling door logout de actieve oefencontext verlaat;
- technische logging van logoutfouten wanneer dit nodig is voor beheeronderzoek.
Deze usecase omvat niet:
- invoeren of controleren van wachtwoorden;
- registratie, wachtwoord-reset, e-mailverificatie of credential lifecycle;
- eerste accountprovisioning;
- reguliere login en sessieopbouw;
- account deactiveren, verwijderen of anonimiseren;
- wijzigen van rollen, relaties, profielgegevens of gebruikersinstellingen;
- accepteren of afwijzen van relatie-uitnodigingen;
- aanmaken van systeemberichten, privéberichten, tickets of systeemnotificaties;
- permanent opslaan van normale login- of logout-sessies in een aparte domeintabel;
- verwijderen van toegankelijkheidsbrowserwaarden die vóór login mogen blijven gelden.
4. Pre-condities
| ID | Voorwaarde |
|---|---|
| PRE-001 | De gebruiker heeft een OefenHub-applicatiecontext, of probeert uit te loggen terwijl de lokale sessie al verlopen of gedeeltelijk beëindigd is. |
| PRE-002 | De logoutactie wordt gestart via een OefenHub-route, headeractie, profielmenu of technische sign-out endpoint. |
| PRE-003 | De backend kan de lokale applicatiesessie, authenticatiecookie of equivalente sessiecontext beëindigen. |
| PRE-004 | De routeguard controleert beveiligde routes server-side of via een betrouwbare applicatiecontext en vertrouwt niet op oude clientstate. |
| PRE-005 | Wanneer identity-providerlogout wordt gebruikt, is de redirect- of sign-outconfiguratie van de identity provider beschikbaar. |
| PRE-006 | Eventuele actieve SignalR-verbindingen en live-viewercontexten kunnen worden beëindigd of vallen veilig weg bij verbreken van de verbinding. |
5. Post-condities
| ID | Resultaat |
|---|---|
| POST-001 | De lokale OefenHub-applicatiesessie van de gebruiker is beëindigd of als ongeldig behandeld. |
| POST-002 | Authenticatiecookie, claimscontext en tijdelijke frontendcontext geven geen toegang meer tot beveiligde OefenHub-routes. |
| POST-003 | De gebruiker is teruggeleid naar de publieke startpagina, logincontext of identity-providerlogoutafhandeling. |
| POST-004 | Beveiligde routes vereisen na logout opnieuw geldige sessieverwerking via UC-GEN-ACC-002. |
| POST-005 | Actieve SignalR-verbindingen en realtime subscriptions van de gebruiker zijn beëindigd of niet langer geautoriseerd. |
| POST-006 | Een actieve live-meekijksessie van de uitloggende gebruiker is beëindigd en waar nodig voorzien van EndedAtUtc. |
| POST-007 | Wanneer een leerling door logout een actieve oefencontext verlaat, worden eventuele meekijkers niet langer als live verbonden beschouwd. |
| POST-008 | Er zijn geen nieuwe relaties, berichten, meldingen, systeemberichten, systeemnotificaties of oefenruns aangemaakt door logout. |
| POST-009 | Toegankelijkheidsbrowserwaarden die vóór login mogen worden gebruikt, blijven behouden zolang zij geen identiteit, persoonsgegevens of autorisatiedata bevatten. |
| POST-010 | Bij technische fout of dubbele logoutpoging ontstaat geen bruikbare half-beëindigde sessiecontext. |
6. Trigger
De usecase start wanneer de gebruiker kiest voor uitloggen, wanneer een logout-endpoint wordt aangeroepen, of wanneer OefenHub tijdens een expliciete sign-outpoging vaststelt dat de lokale sessie al verlopen is en alsnog veilig moet terugvallen naar publieke context.
7. Normale processtroom
| Stap | Actor | Scherm / component | Actie | Systeemrespons | Data / regel |
|---|---|---|---|---|---|
| 1 | Gebruiker | Header / profielmenu | Kiest de actie Uitloggen. | Frontend start de OefenHub logoutflow. | De actie vereist geen extra domeinpopup. |
| 2 | OefenHub frontend | Logoutcomponent | Roept het OefenHub sign-out endpoint aan. | Backend ontvangt de logoutopdracht. | Frontend bepaalt niet zelfstandig of de sessie geldig blijft. |
| 3 | OefenHub backend | Sign-out endpoint | Valideert de actuele applicatiecontext voor zover aanwezig. | Backend behandelt zowel geldige als reeds verlopen lokale sessies veilig. | Dubbele logout moet idempotent zijn. |
| 4 | OefenHub backend | Sessielaag | Beëindigt de lokale authenticatiecookie en claimscontext. | De OefenHub-applicatiesessie is niet langer geldig. | Geen aparte sessietabelmutatie. |
| 5 | OefenHub backend | Contextbeheer | Verwijdert tijdelijke route-, rol- en frontendcontext uit de lokale sessie. | Oude browser- of clientcontext kan niet meer als autorisatiebron dienen. | Clientstate is nooit leidend voor autorisatie. |
| 6 | OefenHub backend / SignalR-laag | Realtime verbindingen | Beëindigt of laat actieve SignalR-verbindingen van de gebruiker vervallen. | Realtime subscriptions zijn niet langer geautoriseerd. | Online presence is technische state. |
| 7 | OefenHub backend | Live meekijken | Controleert of de gebruiker actief live meekijkt. | Eventuele meekijksessie wordt beëindigd en historisch afgerond. | LiveViewAudit.EndedAtUtc kan worden gevuld wanneer een auditregel actief was. |
| 8 | OefenHub backend | Oefencontext / SignalR | Controleert of logout een actieve leerling-oefencontext verlaat. | Eventuele meekijkers krijgen geen verdere live updates en de meekijkcontext wordt beëindigd. | De oefenrun wordt niet als afgerond gemarkeerd door logout. |
| 9 | OefenHub backend | Identity-providerintegratie | Bepaalt of ook identity-providerlogout moet worden gestart. | Bij geconfigureerde federated logout wordt de gebruiker doorgestuurd naar de identity provider. | Identity provider blijft bronhouder voor primaire authenticatiesessie. |
| 10 | OefenHub frontend / backend | Publieke route | Leidt de gebruiker terug naar publieke startpagina of logincontext. | De gebruiker ziet een niet-geauthenticeerde OefenHub-context. | Systeemnotificaties voor ingelogde context worden niet getoond. |
| 11 | Routeguard | Beveiligde routes | Controleert latere routepogingen na logout. | Zonder geldige sessie wordt opnieuw UC-GEN-ACC-002 gestart of publieke context getoond. | Browsergeschiedenis geeft geen toegang tot domeindata. |
8. Alternatieve en exceptionele processtromen
| ID | Vanaf stap | Situatie | Systeemgedrag | Popup / melding | Datamutatie |
|---|---|---|---|---|---|
| ALT-001 | 3 | De lokale OefenHub-sessie is al verlopen. | OefenHub behandelt logout als succesvol en leidt naar publieke context. | Geen popupregister-popup. | Geen domeinmutatie. |
| ALT-002 | 3 | De logoutactie wordt meerdere keren kort na elkaar uitgevoerd. | Logout blijft idempotent; de sessie blijft ongeldig en er ontstaat geen fout voor de gebruiker. | Geen popupregister-popup. | Geen extra domeinmutatie. |
| ALT-003 | 4 | Cookie of claimscontext kan niet volledig worden gelezen. | OefenHub probeert resterende lokale sessiecontext alsnog ongeldig te maken en valt terug naar publieke context. | Generieke technische afhandeling buiten popupregister. | Eventuele technische logging. |
| ALT-004 | 6 | SignalR-verbinding is al verbroken. | OefenHub beschouwt de realtime context als beëindigd. | Geen. | Geen, tenzij een open auditregel nog veilig kan worden afgerond. |
| ALT-005 | 7 | Gebruiker keek live mee met een leerling. | De meekijksessie wordt beëindigd en LiveViewAudit.EndedAtUtc wordt gevuld wanneer dit nog niet gebeurd is. | Geen domeinpopup. | Update LiveViewAudit. |
| ALT-006 | 8 | Leerling logt uit terwijl een oefenrun niet afgerond is. | De run blijft niet-afgerond en is niet als resultaat zichtbaar; later hervatten volgt de bestaande oefenrunregels. Meekijkers ontvangen geen verdere updates. | Geen accountpopup. | Geen afronding van ExerciseRuns; technische verbindingen eindigen. |
| ALT-007 | 9 | Identity-providerlogout is niet geconfigureerd. | Alleen de lokale OefenHub-sessie wordt beëindigd. Bij later inloggen kan de identity provider eventueel nog een geldige externe sessie hebben. | Geen popupregister-popup. | Geen. |
| ALT-008 | 9 | Identity-providerlogout faalt of is tijdelijk niet bereikbaar. | OefenHub beëindigt de lokale sessie en toont of gebruikt een generieke terugvalroute. De lokale OefenHub-toegang blijft beëindigd. | Generieke fout- of beschikbaarheidsafhandeling buiten popupregister. | Eventuele technische logging. |
| ALT-009 | 11 | Gebruiker gebruikt browserterugknop naar een beveiligde pagina. | Routeguard voert opnieuw sessiecontrole uit en blokkeert de beveiligde inhoud. | Geen domeinspecifieke popup. | Geen. |
| ALT-010 | 11 | Een oude tab voert een API- of SignalR-aanroep uit na logout. | Backend weigert de aanroep wegens ontbrekende of ongeldige sessiecontext. | Geen. | Geen domeinmutatie. |
9. Business rules
| ID | Regel |
|---|---|
| BR-001 | Uitloggen beëindigt de lokale OefenHub-applicatiesessie en mag geen domeinobject voor een normale sessie vereisen. |
| BR-002 | OefenHub bewaart geen wachtwoorden, credentials of identity-providerinterne sessiegegevens. |
| BR-003 | Na logout mag oude clientstate, browsergeschiedenis of routecontext geen toegang geven tot beveiligde OefenHub-data. |
| BR-004 | Logout moet idempotent zijn: een verlopen of al beëindigde sessie opnieuw uitloggen veroorzaakt geen domeinfout. |
| BR-005 | Wanneer federated logout is geconfigureerd, mag OefenHub de gebruiker naar de identity-providerlogoutflow sturen. |
| BR-006 | Wanneer identity-providerlogout faalt, blijft de lokale OefenHub-sessie beëindigd. |
| BR-007 | Reguliere logout wijzigt geen rollen, relaties, profielgegevens, voorkeuren, berichten, meldingen, oefenruns of systeemberichten. |
| BR-008 | Users.LastSeenAtUtc wordt niet standaard als logout-audit gebruikt en wordt niet verplicht bijgewerkt door logout. |
| BR-009 | Toegankelijkheidsbrowserwaarden mogen na logout blijven bestaan zolang zij geen persoonsgegevens, identiteit of autorisatiedata bevatten. |
| BR-010 | Actieve SignalR- en live-meekijkcontexten mogen na logout geen updates meer ontvangen of verzenden namens de gebruiker. |
| BR-011 | Een actieve live-meekijksessie van de uitloggende meekijker moet auditbaar eindigen wanneer er een open LiveViewAudit-record bestaat. |
| BR-012 | Uitloggen tijdens een niet-afgeronde oefenrun mag die run niet als afgerond markeren en mag geen resultaat genereren. |
| BR-013 | Systeemnotificaties worden niet als onderdeel van logout aangemaakt, gelezen of gesloten. |
| BR-014 | Beveiligde routes moeten na logout opnieuw door routeguard en sessieverwerking worden gecontroleerd. |
10. Datavalidatie
| Veld / object | Validatie |
|---|---|
| Logoutverzoek | Moet afkomstig zijn van de applicatiecontext of veilig als idempotente sign-outpoging worden verwerkt. |
| Authenticatiecookie | Wordt beëindigd of ongeldig gemaakt wanneer aanwezig; ontbrekende cookie veroorzaakt geen domeinfout. |
| Claimscontext | Mag na logout niet langer worden gebruikt voor autorisatie of rolcontext. |
| Terugkeerroute na logout | Mag alleen verwijzen naar publieke of identity-providergerelateerde routes; niet naar beveiligde domeinroutes als automatisch geautoriseerd doel. |
| Identity-provider logoutconfiguratie | Alleen gebruiken wanneer de providerconfiguratie beschikbaar en vertrouwd is. |
| SignalR-verbinding | Mag na logout geen geautoriseerde realtime subscriptions behouden. |
LiveViewAudit | Alleen bijwerken wanneer de uitloggende gebruiker daadwerkelijk een actieve live-meekijksessie had waarvan EndedAtUtc nog ontbreekt. |
| Toegankelijkheidsbrowserwaarde | Mag blijven bestaan wanneer deze uitsluitend presentatie-instellingen bevat en geen persoonsgegevens of autorisatiedata. |
11. Datamutaties en events
| Stap | Type | Entiteit / event | Mutatie |
|---|---|---|---|
| 2 | Event | LogoutRequested | Gebruiker start logout vanuit OefenHub. |
| 4 | Technisch | Authenticatiecookie / sessiecontext | Lokale applicatiesessie wordt beëindigd of ongeldig gemaakt. |
| 5 | Technisch | Frontend- en routecontext | Tijdelijke rol-, route- en contextinformatie wordt gewist of niet langer vertrouwd. |
| 6 | Technisch | SignalR-verbindingen | Realtime verbindingen en subscriptions worden beëindigd of verliezen autorisatie. |
| 7 | Update | LiveViewAudit | EndedAtUtc wordt gevuld wanneer de uitloggende gebruiker een actieve meekijksessie had. |
| 8 | Event | LiveContextEndedByLogout | Realtime oefen- of meekijkcontext eindigt door logout of verbindingseinde. |
| 9 | Event | IdentityProviderLogoutRequested | OefenHub start optioneel externe logout bij de identity provider. |
| 10 | Event | ApplicationSessionEnded | Lokale OefenHub-sessie is beëindigd en gebruiker is teruggeleid naar publieke context. |
| ALT-008 | Log | Accountlog / applicatielog | Fout bij identity-providerlogout of sign-outintegratie kan technisch worden gelogd. |
12. Geen datamutaties
| Entiteit | Reden |
|---|---|
Users | Reguliere logout wijzigt het account niet en deactiveert de gebruiker niet. |
Users.LastSeenAtUtc | Laatste activiteit wordt niet verplicht door logout bijgewerkt; succesvolle sessieverwerking gebeurt in UC-GEN-ACC-002. |
UserRoles | Logout kent geen rollen toe en trekt geen rollen in. |
Roles | De rolcatalogus wordt niet gewijzigd. |
UserSettings | Logout wijzigt geen voorkeuren of toegankelijkheidsinstellingen. |
| Identity-providercredentials | OefenHub beheert geen wachtwoorden of credentialstatus. |
| Identity-provideraccount | OefenHub verwijdert of anonimiseert het externe account niet via logout. |
RelationshipInvitations | Logout koppelt, accepteert, wijst af of verloopt geen uitnodigingen. |
UserRelationships | Logout maakt of beëindigt geen relaties. |
SystemMessages | Logout maakt, leest, verwijdert of markeert geen systeemberichten. |
PrivateMessageThreads / PrivateMessages | Logout maakt of wijzigt geen privécommunicatie. |
Tickets | Logout maakt of wijzigt geen meldingen. |
ExerciseRuns | Logout rondt geen oefenrun af en genereert geen resultaat. |
SiteNotifications | Logout maakt of wijzigt geen systeemnotificaties. |
13. State diagram
Niet van toepassing als persistent domeinstatusmodel. De sessietoestand is technisch en wordt niet als OefenHub-domeinstatus in een aparte tabel opgeslagen.
14. Decision flow
15. Data lifecycle diagram
16. Sequence diagrammen
16.1 Succesvolle logout met lokale sessiebeëindiging
16.2 Beveiligde route na logout
16.3 Logout terwijl gebruiker live meekijkt
17. Popupverwijzingen
| PopupKey | Moment | Variant | Doel |
|---|---|---|---|
| Niet van toepassing | Uitloggen, sessiebeëindiging en routeguard na logout | Niet van toepassing | Logout gebruikt geen domeinspecifieke popupregister-popup. Eventuele identity-provider- of routeguardmeldingen vallen buiten het popupregister. |
18. Afleiding naar Functioneel Ontwerp / Technisch Ontwerp / Software Requirements Specification
| Doeldocument | Afleiding |
|---|---|
| Functioneel Ontwerp | Beschrijf uitloggen als beëindiging van de lokale OefenHub-applicatiecontext, met optionele doorgeleiding naar identity-providerlogout. |
| Functioneel Ontwerp | Beschrijft dat uitloggen geen accountdeactivatie, accountverwijdering, rolwijziging of domeinmutatie is. |
| Functioneel Ontwerp | Beschrijf dat beveiligde routes na logout altijd opnieuw sessiecontrole vereisen en niet op browsergeschiedenis of clientstate mogen vertrouwen. |
| Functioneel Ontwerp | Beschrijft dat toegankelijkheidsbrowserwaarden na logout mogen blijven bestaan zolang zij geen identiteit, persoonsgegevens of autorisatie bevatten. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Werk sign-out endpoint, authenticatiecookieverwijdering, claimscontextopschoning en routeguardcontrole na logout uit. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Werk optionele federated logout met de identity provider uit, inclusief veilige fallback wanneer externe logout niet lukt. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft het beëindigen van SignalR-verbindingen, subscriptions en live-meekijkcontexten bij logout. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft dat geen aparte sessietabel nodig is voor normale login- of logoutregistratie. |
| Technisch Ontwerp: identiteit, authenticatie en rolcontext, security en omgevingen, Blazor frontend | Beschrijft wanneer LiveViewAudit.EndedAtUtc wordt bijgewerkt als de uitloggende gebruiker actief live meekijkt. |
| Software Requirements Specification | Bevat requirements voor veilige logout, idempotente sessiebeëindiging, routeguardcontrole, federated logout, realtime beëindiging en geen domeinmutaties bij logout. |
| Database-informatie | Bevestig dat logout geen nieuwe account- of sessietabel vereist; alleen bestaande technische sessiecontext en eventueel LiveViewAudit worden geraakt. |
| Architectuur | Leg de grens vast tussen OefenHub-applicatiesessie en identity-providerauthenticatiesessie. |
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 |
|---|---|---|
REQ-UC-GEN-ACC-006-001 | SRS-ACC-002 SRS-ACC-007 AC-ACC-002 AC-ACC-007 | Een ingelogde gebruiker een logoutactie bieden vanuit de geauthenticeerde OefenHub-context |
REQ-UC-GEN-ACC-006-002 | SRS-ACC-002 SRS-ACC-007 AC-ACC-002 AC-ACC-007 | Bij logout de lokale OefenHub-applicatiesessie beëindigen of ongeldig maken |
REQ-UC-GEN-ACC-006-003 | SRS-AUTH-001 SRS-ACC-002 SRS-ACC-007 SRS-NFR-SEC-001 AC-AUTH-001 AC-ACC-002 AC-ACC-007 AC-NFR-SEC-001 | Na logout beveiligde routes opnieuw laten valideren via routeguard en server-side sessiecontrole |
REQ-UC-GEN-ACC-006-004 | SRS-AUTH-001 SRS-AUTH-002 SRS-ACC-002 SRS-ACC-007 SRS-NFR-SEC-001 SRS-NFR-AUD-001 AC-AUTH-001 AC-AUTH-002 AC-ACC-002 AC-ACC-007 AC-NFR-SEC-001 AC-NFR-AUD-001 | Na logout geen beveiligde domeindata tonen op basis van browsergeschiedenis, oude clientstate of oude frontendcontext |
REQ-UC-GEN-ACC-006-005 | SRS-ACC-002 SRS-ACC-007 SRS-ARCH-004 AC-ACC-002 AC-ACC-007 AC-ARCH-004 | Logout idempotent verwerken wanneer de sessie al verlopen of eerder beëindigd is |
REQ-UC-GEN-ACC-006-006 | SRS-ACC-002 SRS-ACC-007 AC-ACC-002 AC-ACC-007 | Het systeem moet, wanneer geconfigureerd, de identity-providerlogoutflow kunnen starten na lokale sessiebeëindiging |
REQ-UC-GEN-ACC-006-007 | SRS-AUTH-001 SRS-ACC-002 SRS-ACC-007 AC-AUTH-001 AC-ACC-002 AC-ACC-007 | Lokale OefenHub-toegang beëindigd houden wanneer identity-providerlogout faalt of niet beschikbaar is |
REQ-UC-GEN-ACC-006-008 | SRS-ACC-002 SRS-ACC-007 SRS-LIVE-001 SRS-ARCH-003 AC-ACC-002 AC-ACC-007 AC-LIVE-001 AC-ARCH-003 | Actieve SignalR-verbindingen en realtime subscriptions van de uitloggende gebruiker beëindigen of ongeldig maken |
REQ-UC-GEN-ACC-006-009 | SRS-ACC-002 SRS-ACC-007 SRS-LIVE-003 SRS-NFR-AUD-001 AC-ACC-002 AC-ACC-007 AC-LIVE-003 AC-NFR-AUD-001 | Een actieve live-meekijksessie van de uitloggende gebruiker auditbaar beëindigen wanneer hiervoor een open LiveViewAudit-record bestaat |
REQ-UC-GEN-ACC-006-010 | SRS-ACC-002 SRS-ACC-007 SRS-LRN-006 AC-ACC-002 AC-ACC-007 AC-LRN-006 | Uitloggen tijdens een niet-afgeronde oefenrun niet behandelen als afronding van die oefening |
REQ-UC-GEN-ACC-006-011 | SRS-ACC-002 SRS-ACC-007 SRS-REL-001 SRS-MSG-001 SRS-TIC-001 SRS-LRN-009 AC-ACC-002 AC-ACC-007 AC-REL-001 AC-MSG-001 AC-TIC-001 AC-LRN-009 | Bij reguliere logout geen rollen, relaties, uitnodigingen, systeemberichten, privéberichten, tickets, oefenruns of systeemnotificaties aanmaken of inhoudelijk wijzigen |
REQ-UC-GEN-ACC-006-012 | SRS-ACC-002 SRS-ACC-007 AC-ACC-002 AC-ACC-007 | Geen aparte domeinsessietabel vereisen voor normale logoutverwerking |
REQ-UC-GEN-ACC-006-013 | SRS-AUTH-001 SRS-ACC-002 SRS-ACC-007 SRS-ACC-003 SRS-ACC-005 SRS-NFR-PRV-001 AC-AUTH-001 AC-ACC-002 AC-ACC-007 AC-ACC-003 AC-ACC-005 AC-NFR-PRV-001 | Toegankelijkheidsbrowserwaarden na logout alleen laten bestaan wanneer deze geen persoonsgegevens, identiteit of autorisatiedata bevatten |
REQ-UC-GEN-ACC-006-014 | SRS-ACC-002 SRS-ACC-007 SRS-NFR-SEC-001 SRS-NFR-LOG-001 AC-ACC-002 AC-ACC-007 AC-NFR-SEC-001 AC-NFR-LOG-001 | Technische fouten rond logout of identity-providerlogout veilig kunnen loggen zonder wachtwoorden, tokens of secrets vast te leggen |