19 lines
774 B
React
19 lines
774 B
React
// src/components/ProtectedRoute.jsx
|
|
import { Navigate, Outlet } from 'react-router-dom';
|
|
|
|
export default function ProtectedRoute() {
|
|
// 1. VÉRIFICATION DU BADGE D'ACCÈS
|
|
// Pour l'instant, on regarde si un jeton "gise_token" existe dans le navigateur.
|
|
// (Lors de ta vraie fonction de connexion, tu enregistreras le token de FOSSBilling ici)
|
|
const isAuthenticated = localStorage.getItem('gise_token');
|
|
|
|
// 2. DÉCISION DE SÉCURITÉ
|
|
if (!isAuthenticated) {
|
|
// ALERTE INTRUSION : On renvoie l'utilisateur vers la porte d'entrée
|
|
// Le "replace" efface la tentative de l'historique du navigateur
|
|
return <Navigate to="/login" replace />;
|
|
}
|
|
|
|
// ACCÈS AUTORISÉ : On affiche les routes enfants (Le Dashboard, l'AppLayout...)
|
|
return <Outlet />;
|
|
} |