javascript / intermediate
Snippet
Edge-basierter Routenschutz in Middleware
Middleware wird ausgeführt, bevor eine Anfrage abgeschlossen ist. Sie ist der ideale Ort, um Authentifizierungsprüfungen global zu implementieren und sicherzustellen, dass geschützte Routen für unbefugte Benutzer gar nicht erst gerendert werden.
snippet.js
1
2
3
4
5
6
7
8
9
10
import { NextResponse } from 'next/server';import type { NextRequest } from 'next/server';export function middleware(request: NextRequest) {const token = request.cookies.get('auth-token');if (!token && request.nextUrl.pathname.startsWith('/dashboard')) {return NextResponse.redirect(new URL('/login', request.url));}return NextResponse.next();}
nextjs
Erklärung
1
request.cookies.get('auth-token')
Greift effizient direkt an der Edge auf Cookies zu, ohne den Ursprungsserver zu belasten.
2
request.nextUrl.pathname.startsWith('/dashboard')
Prüft, ob der Benutzer versucht, auf ein geschütztes Routensegment zuzugreifen.
3
NextResponse.redirect(...)
Leitet den Benutzer sofort zur Login-Seite weiter, wenn die Authentifizierungsprüfung fehlschlägt.