[SSR 비활성화] SPA 방식으로 변경
This commit is contained in:
@@ -1,32 +1,30 @@
|
||||
export default defineNuxtRouteMiddleware(async (to, _from) => {
|
||||
if (import.meta.client) {
|
||||
const userStore = useUserStore();
|
||||
const { hasPagePermission } = usePermission();
|
||||
const userStore = useUserStore();
|
||||
const { hasPagePermission } = usePermission();
|
||||
|
||||
// 공개 라우트 목록 (로그인 없이 접근 가능)
|
||||
const publicRoutes = ["/login", "/register", "/auth-error"];
|
||||
// 공개 라우트 목록 (로그인 없이 접근 가능)
|
||||
const publicRoutes = ["/login", "/register", "/auth-error"];
|
||||
|
||||
// 공개 라우트인지 확인
|
||||
const isPublicRoute = publicRoutes.some(route => to.path === route);
|
||||
// 공개 라우트인지 확인
|
||||
const isPublicRoute = publicRoutes.some(route => to.path === route);
|
||||
|
||||
// 공개 라우트가 아닌 경우 로그인 체크
|
||||
if (!isPublicRoute && !userStore.isLoggedIn) {
|
||||
return navigateTo("/login");
|
||||
// 공개 라우트가 아닌 경우 로그인 체크
|
||||
if (!isPublicRoute && !userStore.isLoggedIn) {
|
||||
return navigateTo("/login");
|
||||
}
|
||||
|
||||
// 로그인된 사용자의 경우 권한 체크
|
||||
if (userStore.isLoggedIn) {
|
||||
// 홈화면 경로는 항상 허용
|
||||
if (to.path === "/" || to.path === "/1/") {
|
||||
return;
|
||||
}
|
||||
|
||||
// 로그인된 사용자의 경우 권한 체크
|
||||
if (userStore.isLoggedIn) {
|
||||
// 홈화면 경로는 항상 허용
|
||||
if (to.path === "/" || to.path === "/1/") {
|
||||
return;
|
||||
}
|
||||
|
||||
// 페이지 권한 체크
|
||||
if (!hasPagePermission(to.path)) {
|
||||
console.log(`페이지 권한이 없습니다.: ${to.path}`);
|
||||
alert(`페이지 권한이 없습니다.`);
|
||||
return navigateTo("/");
|
||||
}
|
||||
// 페이지 권한 체크
|
||||
if (!hasPagePermission(to.path)) {
|
||||
console.log(`페이지 권한이 없습니다.: ${to.path}`);
|
||||
alert(`페이지 권한이 없습니다.`);
|
||||
return navigateTo("/");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user