Utilisation des Middleware
Définition
Le middleware fournit un mécanisme pratique pour inspecter et filtrer les
requêtes HTTP entrant dans votre application. Par exemple, Laravel inclut un
middleware qui vérifie que l'utilisateur de votre application est authentifié. Si
l'utilisateur n'est pas authentifié, le middleware redirigera l'utilisateur vers
l'écran de connexion de votre application. Cependant, si l'utilisateur est
authentifié, le middleware permettra à la demande de continuer plus loin dans
l'application.
1- Créer middleware
La façon la plus simple de créer un middleware est d’utiliser Artisan. Appeler la
commande make:middleware a pour effet de créer une structure de base de
middleware dans le dossier réservé à cet usage : app/Http/Middleware.
php artisan make:middleware NomMiddleware
Cette commande placera une nouvelle classe NomMiddleware dans le répertoire
app/Http/Middleware.
Le middleware c’est une classe qui contient deux méthodes handle et terminate. Sauf
que terminate elle n’est pas généré automatiquement il faut l’ajouter manuellement .
public function handle(Request $request, Closure $next){}
public function terminate(Request $request, Response $response){}
2- Enregistrement d’un middleware
Après la création du middleware, nous devons informer l’application que le
middleware existe. Si vous souhaitez qu’un middleware s’exécute à chaque demande,
accédez à app/Http/[Link] et ajoutez le middleware au Kernel.
3-Type de Middlewares :
Type Rôle
Route Middleware Il permet de protéger une Route ou un ensemble de
routes ou un contrôleur .*Donc si un seul Middleware pour
une route ou un groupe de route ou un contrôleur.
Group Middleware Un ensemble de middleware permet de protéger une route
ou un groupe de routes ou même un contrôleur
Cours proposé par : ELGARRAI Zineb
Global Middleware Un middleware qui permet de protéger tout le site si une
protection général pour toute l’application.
EXERCICE D’application :
créer un middleware qui teste la valeur d’une variable age et interdit l’accès à l’uri
‘/home’ pour une valeur < 18.
TP
voir enoncé
Cours proposé par : ELGARRAI Zineb