Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Middleware și Interceptare cu Hooks în SvelteKit: Fișierul hooks.server.ts în Svelte & SvelteKit

Ghid complet pentru Hooks în SvelteKit: utilizarea funcției handle din hooks.server.ts pentru autentificare pe server, validarea token-urilor JWT și popularea obiectului event.locals.

Sintaxă
export const handle = async ({ event, resolve }) => { ... return resolve(event); }

Fișierul hooks.server.ts este echivalentul middleware-ului global din Express sau NestJS. Funcția handle rulează la fiecare cerere primită de serverul SvelteKit, înainte ca rutele individuale să fie executate, fiind locul ideal pentru securitate și verificarea identității.

Implementarea verificării sesiunii în src/hooks.server.ts
import type { Handle } from '@sveltejs/kit';

export const handle: Handle = async ({ event, resolve }) => {
    // 1. Extragem cookie-ul de sesiune:
    const tokenSesiune = event.cookies.get('token_sesiune');

    if (tokenSesiune) {
        // 2. Populăm event.locals (disponibil în toate fișierele +page.server.ts):
        event.locals.user = {
            id: 101,
            email: "admin@dexblog.ro",
            esteAdmin: true
        };
    } else {
        event.locals.user = null;
    }

    // 3. Protejăm rutele administrative:
    if (event.url.pathname.startsWith('/admin') && !event.locals.user?.esteAdmin) {
        return new Response('Acces Neautorizat', { status: 403 });
    }

    // 4. Continuăm fluxul normal:
    const response = await resolve(event);
    return response;
};
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Middleware și Interceptare cu Hooks în SvelteKit: Fișierul hooks.server.ts

Ai o nelămurire despre utilizarea comenzii Middleware și Interceptare cu Hooks în SvelteKit: Fișierul hooks.server.ts sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.