Formation PUB030 : Laravel, 2019 Le middleware auth

39.2 Le middleware auth pour protéger les routes


Le middleware auth permet de s'assurer que seuls les usagers authentifiés aient accès à une route. Dans le cas où un usager non authentifié tente d'accéder à cette route, un code d'état HTTP 403 (Accès refusé - Forbidden) sera envoyé au navigateur et l'usager sera automatiquement redirigé vers la page d'authentification.

Ex :

Fichier routes\web.php

Route::get('produits/creation', [

    'as' => 'produits.create',

    'uses' => 'ProduitsController@create',

])->middleware('auth');

Lorsqu'un usager non authentifié tente d'accéder à une route protégée par le middleware auth, Laravel redirigera le traitement vers la route nommée login, en GET. Par défaut, cette route mène vers la méthode showLoginForm() du contrôleur LoginController. Cette méthode se chargera d'appeler la vue qui permet à l'usager de s'authentifier.

Afficher ou non les boutons d'ajout et d'édition pour les usager non authentifiés

L'utilisation du middleware auth est certainement une fonctionnalité très intéressante. Cependant, dans certaines situations, il pourrait être préférable que les usagers non authentifiés ne voient carrément pas les boutons auxquels ils n'ont pas le droit.

En plus d'éviter des frustrations (« Pourquoi le site me montre-t-il le bouton alors que je ne peux pas me créer un compte pour me connecter »), ceci évitera de montrer aux usagers malveillants la porte d'entrée pour accéder à ces fonctionnalités.

Dans un tel cas, vous pourrez utiliser Auth::check() avant d'afficher le bouton EN PLUS d'ajouter le middleware auth à la route.

Pour plus d'information

« Authentication - Protecting Routes ». Laravel. https://laravel.com/docs/master/authentication#protecting-routes

« Laravel Authentication: Under The Hood ». Medium. https://medium.com/@mariowhowrites/laravel-authentication-under-the-hood-78064b5b89e6

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre