Sveltejs Academy · Lección

Rutas protegidas en el hook handle()

Redirija a los usuarios no autenticados desde las rutas protegidas dentro del hook handle

Lección 3 de 413 pasos

Rutas protegidas en el hook handle() es una lección gratuita de Sveltejs Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Sveltejs Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Sveltejs Academy incluye 4 lecciones en total.

Protección en Edge

Centralice la protección de rutas en el hook handle para contar con una única fuente de verdad.

Compruebe locals

Si establece event.locals.user en handle, compruébelo para las rutas protegidas.

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

Control de acceso basado en roles

Compruebe los roles de los usuarios para controlar el acceso a las secciones.

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

Respaldo en la función load

Dentro de la función load de +page.server.js, lance un redirect si falta locals.user, como medida de seguridad adicional.

Rutas públicas y privadas

Utilice un comparador de rutas o límites de layout para diferenciarlas.

Evite las comprobaciones por página

Las comprobaciones centralizadas evitan omitir rutas que podrían exponer datos confidenciales.

URL de retorno

Codifique la URL original como un parámetro de consulta para que los usuarios regresen después de iniciar sesión.

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

Rutas de API

Proteja los endpoints de API (+server.js) con la misma lógica del hook.

Rendimiento

Las comprobaciones de autenticación deben ser rápidas. Almacene en caché los datos del usuario por solicitud mediante locals.

Coherencia del SSR

La autenticación centralizada garantiza un comportamiento coherente en las solicitudes renderizadas en el servidor y en las navegaciones iniciadas en el cliente.

Pruebas

La autenticación basada en hooks es más fácil de probar de forma aislada que las comprobaciones dispersas por las páginas.

Comprobación rápida

¿Dónde debe realizar la protección de rutas?

Resumen

Centralice la protección de rutas en handle, comprobando locals.user y redirigiendo las solicitudes no autorizadas.

Gratis para empezar

Aprende HTML con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
41
Lecciones
163

Preguntas frecuentes

¿La lección «Rutas protegidas en el hook handle()» es gratis?

Sí — el texto completo de «Rutas protegidas en el hook handle()» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Sveltejs Academy, actualiza a CoddyKit PRO. El curso de Sveltejs Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Rutas protegidas en el hook handle()»?

Redirija a los usuarios no autenticados desde las rutas protegidas dentro del hook handle Practicas Sveltejs Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Sveltejs Academy?

No se requiere experiencia previa. Sveltejs Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Rutas protegidas en el hook handle()»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Sveltejs Academy?

Sí. Cada lección de Sveltejs Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Sesiones basadas en cookies
  2. JWT en cookies HTTP-only
  3. Rutas protegidas en el hook handle()
  4. OAuth con SvelteKit y Lucia Auth
← Volver a Sveltejs Academy