| 1234567891011121314151617181920212223242526272829303132333435363738 |
- 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] 토큰 확인됨, 페이지 접근 허용')
- })
|