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 :
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.
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.
« 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é