Middleware guard

미들웨어는 보호할 경로를 먼저 거르고 세션이 없으면 바로 돌려보낸다

페이지가 실행되기 전에 matcher와 토큰 검사가 먼저 지나가므로, 여러 보호 경로에 같은 규칙을 적용하기 좋다.

1Request/admin/settings로 요청이 들어온다.
2Matcher/admin/:path*에 걸리는지 확인한다.
3TokenNextAuth 토큰 또는 세션 쿠키를 읽는다.
4Decision세션과 역할이 조건을 만족하는지 본다.
5Response통과 또는 로그인/권한 없음으로 보낸다.
export const config = { matcher: ['/dashboard/:path*', '/admin/:path*'] }
상황미들웨어 결정사용자에게 보이는 결과
세션 없음로그인으로 redirect보호 페이지 HTML을 받지 못한다.
일반 사용자가 admin 접근권한 없음 처리403 또는 unauthorized 화면으로 이동한다.
조건 충족next()요청한 페이지 렌더링이 계속된다.