db connect
This commit is contained in:
28
middleware.ts
Normal file
28
middleware.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { NextResponse } from 'next/server'
|
||||
import type { NextRequest } from 'next/server'
|
||||
|
||||
export function middleware(request: NextRequest) {
|
||||
const { pathname } = request.nextUrl
|
||||
|
||||
// Check if the path is under /admin
|
||||
if (pathname.startsWith('/admin')) {
|
||||
// Allow access to login page
|
||||
if (pathname === '/admin/login' || pathname.startsWith('/admin/api')) {
|
||||
return NextResponse.next()
|
||||
}
|
||||
|
||||
// Check for admin session cookie
|
||||
const adminSession = request.cookies.get('admin_session')?.value
|
||||
|
||||
if (!adminSession || adminSession !== 'authenticated') {
|
||||
return NextResponse.redirect(new URL('/admin/login', request.url))
|
||||
}
|
||||
}
|
||||
|
||||
return NextResponse.next()
|
||||
}
|
||||
|
||||
// Match only admin paths
|
||||
export const config = {
|
||||
matcher: ['/admin/:path*'],
|
||||
}
|
||||
Reference in New Issue
Block a user