Retour à la leçon
Mission

Mission : une route admin accessible à n'importe qui

Diagnostiquer un guard mal placé qui ne bloque jamais une navigation, puis restaurer une protection d'accès correcte à plusieurs niveaux.

Contexte

Un développeur a tenté de protéger /admin en ajoutant la logique de vérification des droits dans router.afterEach((to) => { const auth = useAuthStore(); if (to.meta.roles && !to.meta.roles.includes(auth.utilisateur?.role)) { return { name: 'accueil' } } }). En test, n'importe quel utilisateur non-admin arrive quand même sur la page /admin pendant une fraction de seconde avant d'être éventuellement redirigé, et parfois la redirection ne se produit même pas du tout.