From 3f3696cd0ff750bf6563191ba529e0c4e3777394 Mon Sep 17 00:00:00 2001 From: an seungji Date: Sat, 19 Oct 2024 19:51:04 +0900 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8[Feat]=20=EB=B9=84=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EC=9D=B8=20=EC=83=81=ED=83=9C=EC=97=90=EC=84=9C=EC=9D=98=20?= =?UTF-8?q?=EB=9E=9C=EB=94=A9=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9D=B4?= =?UTF-8?q?=EB=8F=99=EC=9D=84=20=EC=9C=84=ED=95=9C=20=EB=AF=B8=EB=93=A4?= =?UTF-8?q?=EC=9B=A8=EC=96=B4=20=ED=8C=8C=EC=9D=BC=20=EA=B5=AC=EC=B6=95?= =?UTF-8?q?=EC=A4=91=20#74?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/page.tsx | 0 src/middleware.ts | 21 +++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/app/page.tsx create mode 100644 src/middleware.ts diff --git a/src/app/page.tsx b/src/app/page.tsx new file mode 100644 index 00000000..e69de29b diff --git a/src/middleware.ts b/src/middleware.ts new file mode 100644 index 00000000..901dab53 --- /dev/null +++ b/src/middleware.ts @@ -0,0 +1,21 @@ +// src/middleware.ts +import { NextRequest, NextResponse } from "next/server"; + +export function middleware(request: NextRequest) { + const token = request.cookies.get("token"); // 쿠키에서 인증 토큰을 가져옴 + + if ( + !token && + request.nextUrl.pathname !== "/login" && + request.nextUrl.pathname !== "/landing" + ) { + return NextResponse.redirect(new URL("/landing", request.url)); + } + + return NextResponse.next(); // 로그인된 사용자에 대한 요청은 통과 +} + +// 인증이 필요한 페이지 설정 +export const config = { + matcher: ["/main", "/profile/:path*", "/admin"], // 인증이 필요한 경로 지정 +};