20 lines
510 B
TypeScript
20 lines
510 B
TypeScript
import { NextResponse } from 'next/server';
|
|
import type { NextRequest } from 'next/server';
|
|
|
|
export function middleware(req: NextRequest) {
|
|
const token = req.cookies.get('token')?.value;
|
|
const loginUrl = new URL('/login', req.url);
|
|
|
|
// Wenn kein Token vorhanden ist, leite zur Login-Seite um
|
|
if (!token) {
|
|
return NextResponse.redirect(loginUrl);
|
|
}
|
|
|
|
return NextResponse.next();
|
|
}
|
|
|
|
// Definiere, für welche Routen das Middleware gelten soll
|
|
export const config = {
|
|
matcher: ['/protected'],
|
|
};
|