diff --git a/Front-end/src/App.jsx b/Front-end/src/App.jsx index 5b1d6c8..18df2c9 100644 --- a/Front-end/src/App.jsx +++ b/Front-end/src/App.jsx @@ -14,6 +14,7 @@ import Sidebar from "./pages/Admin/sidebar.jsx"; import User from "./pages/Admin/User.jsx"; import Dashboard from "./pages/Admin/Dashboard.jsx"; import AdminObjet from "./pages/Admin/AdminObjet.jsx"; +import ProtectedRoute from './ProtectedRoute.jsx'; // Correction de l'import function App() { return ( @@ -24,17 +25,17 @@ function App() { } /> } /> - } /> - } /> - } /> + } />} /> + } />} /> + } />} /> } /> } /> - } /> + } />} /> } /> } /> } /> } /> - } /> + } />} /> diff --git a/Front-end/src/ProtectedRoute.jsx b/Front-end/src/ProtectedRoute.jsx new file mode 100644 index 0000000..9df0306 --- /dev/null +++ b/Front-end/src/ProtectedRoute.jsx @@ -0,0 +1,16 @@ +import { useAuth } from './AuthContext'; // Utilisation du contexte d'authentification +import { Navigate } from 'react-router-dom'; // Utilisation de React Router pour la redirection + +function ProtectedRoute({ element }) { + const { token } = useAuth(); // Vérifier si un token existe, donc si l'utilisateur est authentifié + + // Si l'utilisateur n'est pas authentifié, redirigez-le vers la page de login + if (!token) { + return ; + } + + // Si l'utilisateur est authentifié, permettez l'accès à la route + return element; +} + +export default ProtectedRoute; // Export de la fonction