Cocktail-Masters / Banana-Vote-FE

https://bvote.co.kr
4 stars 3 forks source link

관리자 페이지 UI 구현 및 middleware 접근 제한 구현 #213

Closed win9612 closed 1 year ago

win9612 commented 1 year ago

🔒 서버 사이드에서 페이지 접근 제한 구현 (middleware.ts)

export async function middleware(request: NextRequest, response: NextResponse) {
  const pathname = request.nextUrl.pathname;
  const slug = pathname.split("/")[2];

  // ...
  // Admin 페이지 접근 시
  if (pathname.includes("/admin")) {
    const token = request.cookies.get("access-token")?.value as string;
    const decodedToken: jwtToken = jwtDecode(token);
    const role = decodedToken.role;

    if (role !== "ADMIN") {
      return NextResponse.redirect(new URL("/home", request.url));
    }
  }
  // ...
}
vercel[bot] commented 1 year ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
banana-vote-fe ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 19, 2023 7:56am