Sveltejs Academy · Lezione

Route protette nell'hook handle()

Reindirizzi gli utenti non autenticati dalle route protette all'interno dell'hook handle.

Lezione 3 di 413 passaggi

Route protette nell'hook handle() è una lezione Sveltejs Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Sveltejs Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Sveltejs Academy include 4 lezioni in totale.

Protezione all'edge

Centralizzi la protezione delle route nell'hook handle per avere un'unica fonte di verità.

Verifica di locals

Se imposta event.locals.user in handle, lo verifichi per le route protette.

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);
}

Accesso basato sui ruoli

Verifichi i ruoli degli utenti per controllare l'accesso alle sezioni.

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

Fallback della funzione load

Nel load di +page.server.js, esegua un redirect se locals.user è assente, per una maggiore sicurezza.

Route pubbliche e private

Utilizzi un matcher dei percorsi o i confini dei layout per distinguerle.

Eviti i controlli per pagina

I controlli centralizzati impediscono di dimenticare route che potrebbero esporre dati sensibili.

URL di ritorno

Codifichi l'URL originale come parametro di query, così gli utenti potranno tornarvi dopo l'accesso.

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

Route API

Protegga gli endpoint API (+server.js) con la stessa logica dell'hook.

Prestazioni

I controlli di autenticazione devono essere rapidi. Memorizzi nella cache i dati dell'utente per richiesta tramite locals.

Coerenza SSR

L'autenticazione centralizzata garantisce un comportamento coerente nelle richieste renderizzate dal server e in quelle con navigazione lato client.

Test

L'autenticazione basata sugli hook è più facile da testare in isolamento rispetto ai controlli distribuiti per pagina.

Verifica rapida

Dove dovrebbe essere applicata la protezione delle route?

Riepilogo

Centralizzi la protezione delle route in handle, verificando locals.user e reindirizzando le richieste non autorizzate.

Gratis per iniziare

Impara HTML con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
41
Lezioni
163

Domande Frequenti

La lezione «Route protette nell'hook handle()» è gratuita?

Sì — il testo completo di «Route protette nell'hook handle()» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Sveltejs Academy, passa a CoddyKit PRO. Il corso Sveltejs Academy include 4 lezioni in totale.

Cosa imparerò in «Route protette nell'hook handle()»?

Reindirizzi gli utenti non autenticati dalle route protette all'interno dell'hook handle. Eserciti Sveltejs Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Sveltejs Academy?

Non è richiesta alcuna esperienza precedente. Sveltejs Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Route protette nell'hook handle()»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Sveltejs Academy?

Sì. Ogni lezione Sveltejs Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Sessioni basate sui cookie
  2. JWT nei cookie HTTP-only
  3. Route protette nell'hook handle()
  4. OAuth con SvelteKit e Lucia Auth
← Torna a Sveltejs Academy