Sveltejs Academy · Lektion

Beskyttede routes i handle()-hooket

Omdirigér brugere uden autentificering væk fra beskyttede routes i handle-hooket

Lektion 3 af 413 trin

Beskyttede routes i handle()-hooket er en gratis Sveltejs Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Sveltejs Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Sveltejs Academy-kurset indeholder 4 lektioner i alt.

Beskyt ved edge-laget

Saml beskyttelsen af ruter i handle-hooket, så der er én fælles sandhedskilde.

Tjek locals

Hvis du sætter event.locals.user i handle, skal du kontrollere værdien for beskyttede stier.

export async function handle({ event, resolve }) {
  event.locals.user = await getUser(event);
  if (event.url.pathname.startsWith("/admin") && !event.locals.user) {
    return new Response("Unauthorized", { status: 302, headers: { Location: "/login" } });
  }
  return resolve(event);
}

Rollebaseret adgang

Kontrollér brugerroller for at begrænse adgangen til sektioner.

if (event.url.pathname.startsWith("/admin") && event.locals.user?.role !== "admin") redirect(...);

Reservekontrol i load-funktionen

I load-funktionen i +page.server.js skal du udløse en omdirigering, hvis locals.user mangler, som ekstra sikkerhed.

Offentlige og private ruter

Brug en sti-matcher eller layoutgrænser til at skelne mellem dem.

Undgå kontroller på hver side

Centraliserede kontroller forhindrer oversete ruter, som kunne afsløre følsomme data.

Retur-URL

Kod den oprindelige URL som en forespørgselsparameter, så brugerne vender tilbage efter login.

redirect(303, `/login?next=${encodeURIComponent(event.url.pathname)}`);

API-ruter

Beskyt API-endepunkter (+server.js) med den samme hook-logik.

Ydeevne

Godkendelseskontroller bør være hurtige. Gem brugerdata i cache for hver forespørgsel via locals.

Ensartet SSR

Centraliseret godkendelse sikrer ensartet adfærd for serverrenderede og klientnavigerede forespørgsler.

Test

Hook-baseret godkendelse er lettere at teste isoleret end spredte kontroller på de enkelte sider.

Hurtigt tjek

Hvor bør du beskytte ruter?

Opsummering

Saml beskyttelsen af ruter i handle, kontrollér locals.user, og omdirigér uautoriserede forespørgsler.

Gratis at komme i gang

Lær HTML med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
41
Lektioner
163

Ofte stillede spørgsmål

Er lektionen “Beskyttede routes i handle()-hooket” gratis?

Ja — hele teksten til “Beskyttede routes i handle()-hooket” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Sveltejs Academy-kurset, skal du opgradere til CoddyKit PRO. Sveltejs Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Beskyttede routes i handle()-hooket”?

Omdirigér brugere uden autentificering væk fra beskyttede routes i handle-hooket Du øver dig i Sveltejs Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Sveltejs Academy?

Der kræves ingen tidligere erfaring. Sveltejs Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Beskyttede routes i handle()-hooket”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Sveltejs Academy-lektion?

Ja. Alle Sveltejs Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Cookiebaserede sessioner
  2. JWT'er i HTTP-only-cookies
  3. Beskyttede routes i handle()-hooket
  4. OAuth med SvelteKit og Lucia Auth
← Tilbage til Sveltejs Academy