0Pricing
Sveltejs Academy · Aula

Rotas protegidas no hook handle()

Redirecione usuários não autenticados de rotas protegidas dentro do hook handle.

Rotas protegidas no hook handle() é uma aula grátis de Sveltejs Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Sveltejs Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Sveltejs Academy inclui 4 aulas no total.

Proteger na borda

Centralize a proteção de rotas no gancho handle para ter uma única fonte de verdade.

Verificar os dados locais

Se você definir event.locals.user em handle, verifique-o nos caminhos protegidos.

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

Acesso baseado em funções

Verifique as funções dos usuários para controlar o acesso às seções.

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

Proteção adicional na função de carregamento

Dentro do carregamento de +page.server.js, lance um redirecionamento se locals.user estiver ausente, para obter segurança adicional.

Rotas públicas e privadas

Use um comparador de caminhos ou limites de layout para diferenciá-las.

Evitar verificações por página

As verificações centralizadas evitam rotas não verificadas que poderiam expor dados confidenciais.

URL de retorno

Codifique a URL original como um parâmetro de consulta para que os usuários retornem depois de iniciar sessão.

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

Rotas de API

Proteja os pontos de acesso da API (+server.js) com a mesma lógica do gancho.

Desempenho

As verificações de autenticação devem ser rápidas. Armazene os dados do usuário em cache por solicitação usando locals.

Consistência do SSR

A autenticação centralizada garante um comportamento consistente em solicitações renderizadas no servidor e em solicitações navegadas no cliente.

Testes

A autenticação baseada em ganchos é mais fácil de testar isoladamente do que verificações dispersas por página.

Verificação rápida

Onde você deve fazer a proteção de rotas?

Recapitulação

Centralize a proteção de rotas em handle, verificando locals.user e redirecionando solicitações não autorizadas.

Perguntas Frequentes

A aula “Rotas protegidas no hook handle()” é grátis?

Sim — o texto completo de “Rotas protegidas no hook handle()” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Sveltejs Academy, atualize para CoddyKit PRO. O curso de Sveltejs Academy inclui 4 aulas no total.

O que vou aprender em “Rotas protegidas no hook handle()”?

Redirecione usuários não autenticados de rotas protegidas dentro do hook handle. Você pratica Sveltejs Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Sveltejs Academy?

Nenhuma experiência prévia é necessária. Sveltejs Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Rotas protegidas no hook handle()”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Sveltejs Academy?

Sim. Cada aula de Sveltejs Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sessões baseadas em cookies
  2. JWT em cookies HTTP-only
  3. Rotas protegidas no hook handle()
  4. OAuth com SvelteKit e Lucia Auth
← Voltar para Sveltejs Academy