Maison  >  Article  >  cadre php  >  Comment utiliser un middleware pour le filtrage des requêtes dans Laravel

Comment utiliser un middleware pour le filtrage des requêtes dans Laravel

王林
王林original
2023-11-03 15:31:58515parcourir

Comment utiliser un middleware pour le filtrage des requêtes dans Laravel

Comment utiliser le middleware pour le filtrage des requêtes dans Laravel

Le middleware est une fonctionnalité très utile dans le framework Laravel. Il peut être utilisé pour filtrer et vérifier les requêtes afin de garantir que seules les requêtes qualifiées peuvent accéder à un routage spécifique. En utilisant un middleware, nous pouvons facilement mettre en œuvre l'authentification, le contrôle des autorisations, la journalisation des demandes et d'autres fonctions. Dans cet article, je vais présenter comment utiliser le middleware pour le filtrage des requêtes dans Laravel et donner des exemples de code spécifiques.

Étape 1 : Créer un nouveau middleware
Tout d'abord, nous devons créer un nouveau middleware. Exécutez la commande suivante dans le terminal pour générer un middleware nommé AdminMiddleware :

php artisan make:middleware AdminMiddleware

Le fichier middleware généré se trouve dans le répertoire app/Http/Middleware Ouvrez ce fichier et nous verrons le code suivant :

<?php

namespace AppHttpMiddleware;

use Closure;

class AdminMiddleware
{
    /**
     * 处理传入请求。
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // 在这里添加你的中间件逻辑

        return $next($request);
    }
}

Étape 2 : Définir. logique middleware
Dans la méthode handle, nous pouvons ajouter notre logique middleware. Supposons que nous souhaitons que seuls les utilisateurs administrateurs puissent accéder à un certain itinéraire, nous pouvons alors nous authentifier ici pour déterminer si l'utilisateur dispose de droits d'administrateur. L'exemple de code est le suivant :

// 在这里添加你的中间件逻辑
if (!Auth::user()->isAdmin()) {
    return redirect()->route('home')->with('error', 'You do not have permission to access this page.');
}

Dans l'exemple ci-dessus, nous utilisons la fonction d'authentification de Laravel pour déterminer si l'utilisateur actuel est un administrateur. Si l'utilisateur n'est pas administrateur, il est redirigé vers la page d'accueil et un message d'erreur s'affiche.

Troisième étape : appliquer le middleware
Une fois que nous avons défini la logique du middleware, nous devons appliquer le middleware à l'itinéraire spécifié. Dans Laravel, nous pouvons appliquer un middleware via un middleware global, un middleware de route et un middleware de contrôleur. Voici un exemple d'application d'un middleware dans une route :

Route::get('/admin-dashboard', function () {
    // 这是需要进行权限验证的路由
})->middleware('admin');

Dans l'exemple ci-dessus, nous appliquons le middleware à la route /admin-dashboard, et le nom du middleware est admin.

Étape 4 : Enregistrez le middleware
Enfin, nous devons enregistrer le middleware dans le fichier Http/Kernel.php de l'application. Ajoutez le AdminMiddleware que nous venons de créer dans le tableau $middlewares :

protected $routeMiddleware = [
    'admin' => AppHttpMiddlewareAdminMiddleware::class,
];

Maintenant, nous avons réussi à créer un middleware et à l'appliquer à la route spécifiée. Chaque fois qu'un utilisateur tente d'accéder à la route /admin-dashboard, le middleware vérifiera les autorisations de l'utilisateur et effectuera le traitement correspondant en fonction des résultats.

Résumé :
L'utilisation d'un middleware pour le filtrage des demandes est une fonctionnalité puissante fournie par le framework Laravel, qui peut nous aider à mettre en œuvre facilement l'authentification, le contrôle des autorisations et d'autres fonctions. En créant un nouveau middleware, en définissant la logique du middleware, en appliquant le middleware et en enregistrant le middleware, nous pouvons filtrer et vérifier efficacement les demandes pour garantir la sécurité et la fiabilité du système.

Ce qui précède est une introduction détaillée et des exemples de code spécifiques sur la façon d'utiliser le middleware pour le filtrage des requêtes dans Laravel. J'espère que cela aide!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn