§ Konto, fakturering & säkerhet

Spegla en användare (impersonate) som superadmin

Felsök problem från användarens perspektiv genom att spegla deras konto. Tillgängligt för Ahody-superadmins. Alla mirror-sessioner loggas i audit-trail.

AdminAvancerad4 min läsning

Uppdaterad maj 2026

Spegling (mirror / impersonation) = du loggar in som en annan användare för att se exakt vad de ser och felsöka från deras perspektiv. I Ahody kallas funktionen "Speglar" i UI:t.

Begränsningar:

  • Endast superadmins kan spegla
  • Mirror-läget är i huvudsak skrivskyddat — fält och tangenttryck i inputs blockeras
  • All mirror-aktivitet skrivs till admin_impersonation_log automatiskt
  1. Starta speglingen

    Speglingen aktiveras genom att lägga till URL-parametern ?as=<user_uuid> på valfri Ahody-sida. Typiskt sker detta från superadmin-vyer som länkar in i appen.

    När parametern detekteras:

    1. ID:t sparas i sessionStorage (ahody.impersonation.target_id)
    2. ?as=-parametern strippas från URL:en
    3. Ahody anropar RPC:n admin_log_impersonation som loggar starten
  2. Mirror-bannern visas

    När speglingen är aktiv visas en gul banner högst upp:

    "Speglar: {namn} tier: {tier} (skrivskyddat — fält är inaktiverade. Knappar går igenom som dig själv.)"

    Bannern har en "Avsluta"-knapp.

  3. Vad du ser

    Du ser appen med den speglade användarens kontext:

    • Deras företag och behörigheter
    • Deras vyer (Inkorg, Workdesk, etc.)
    • Deras feature-flag-tier appliceras

    CSS-klassen mirror-active läggs på <body> så att UI:t dimmas och fält visualiseras som inaktiva.

  4. Vad som är blockerat

    Mirror-läget blockerar tangenttryck som skulle ändra text i <input>, <textarea> eller contentEditable-fält (utom navigations-tangenter som Tab, Esc, piltangenter och modifier-tangenter).

    Knappar och submits går tekniskt igenom — men eventuella mutationer attribueras till dig (admin) i databasen, så audit-spåret är intakt.

  5. Avsluta speglingen

    Klicka "Avsluta" i den gula bannern. Då:

    1. sessionStorage-nyckeln rensas
    2. Bannern försvinner
    3. mirror-active-klassen tas bort från <body>
  6. Audit-loggen

    Varje start av en spegling skrivs till tabellen admin_impersonation_log med:

    • caller_id — du
    • target_id — den speglade användaren
    • Tidsstämpel

    Loggen är inte återställbar — alla speglingar är permanent spårbara.

Om du fastnar

  • "Speglingen kunde inte starta: {fel}" — RPC-anropet view_impersonation_context misslyckades. Vanligaste orsak: du saknar superadmin-rättigheter, eller mål-användaren existerar inte. Bannern visar felet i rött.
  • "Speglingen försvann efter inloggning"sessionStorage bevarar target_id tvärs över ett login. Om sessionen försvinner helt får du starta speglingen igen från admin-vyn.
  • "Jag kan inte skriva i ett fält" — Det är meningen i mirror-läget. Avsluta speglingen för att återgå till ditt eget konto med full skrivåtkomst.

§ Återkoppling

Var den här guiden hjälpsam?