export default defineNuxtRouteMiddleware((to) => { // SSR에서는 middleware 실행 안 함 (클라이언트에서만) if (import.meta.server) { return } // Admin 페이지가 아니면 middleware 실행 안 함 if (!to.path.startsWith('/admin')) { return } const token = localStorage.getItem('admin_token') console.log('[Auth Middleware]', { path: to.path, hasToken: !!token, token: token ? token.substring(0, 20) + '...' : null }) // 로그인 페이지는 예외 처리 if (to.path === '/admin' || to.path === '/admin/') { // 이미 로그인된 경우 대시보드로 if (token) { console.log('[Auth] 이미 로그인됨, dashboard로 이동') return navigateTo('/admin/dashboard') } console.log('[Auth] 로그인 페이지 접근 허용') return } // Admin 페이지 접근 시 토큰 체크 if (!token) { console.log('[Auth] 토큰 없음, 로그인 페이지로 이동') return navigateTo('/admin') } console.log('[Auth] 토큰 확인됨, 페이지 접근 허용') })