36 lines
781 B
TypeScript
36 lines
781 B
TypeScript
|
|
/**
|
||
|
|
* 관리자 인증 유틸리티 함수
|
||
|
|
*/
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 관리자 로그인 상태 확인
|
||
|
|
* @returns 관리자 로그인 여부
|
||
|
|
*/
|
||
|
|
export function isAdminLoggedIn(): boolean {
|
||
|
|
if (typeof window === 'undefined') {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
return localStorage.getItem('isAdminLoggedIn') === 'true';
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 관리자 인증 체크 및 리다이렉트
|
||
|
|
* 인증되지 않은 경우 로그인 페이지로 이동
|
||
|
|
*/
|
||
|
|
export function requireAdminAuth(): boolean {
|
||
|
|
if (typeof window === 'undefined') {
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
const isAdmin = isAdminLoggedIn();
|
||
|
|
|
||
|
|
if (!isAdmin) {
|
||
|
|
// 관리자 인증되지 않은 경우 로그인 페이지로 리다이렉트
|
||
|
|
window.location.href = '/login';
|
||
|
|
return false;
|
||
|
|
}
|
||
|
|
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|