Private Seite(n)
Sobald der Nutzer authentifiziert ist, können Sie private Routen wie ein Nutzer-Dashboard, ein Konto usw. bauen.
Hier ist ein Beispiel für ein einfaches Nutzer-Dashboard, das private Nutzerdaten auf der Seite anzeigt:
---import { getSession } from '@/lib/auth'
const session = getSession(Astro.request)
if (session) { // If need to do something on the server side say fetch data for the user // This is the right block to do it} else { // In case the user is not logged in // Redirect them for example return Astro.redirect('/')}---
<html> <head> </head> <body> The user that's logged name is {session.user.name} </body></html>Hier ist ein einfaches Beispiel für den Schutz einer Route in SvelteKit.
Erstellen Sie eine +page.server.ts in bzw. neben dem Verzeichnis, das Sie schützen möchten:
import { error } from '@sveltejs/kit'import type { RequestEvent } from './$types'import { getSession } from '@/lib/utils/auth'
export async function load(event: RequestEvent) { const session = getSession(event.request) if (!session) { // In case the user is not logged in // Send 403 throw error(403, { message: 'Unauthorized' }) } // If need to do something on the server side say fetch data for the user // This is the right block to do it return session}