Position actuelle: Accueil> Derniers articles> Laravel Middleware implémente les autorisations d'accès aux utilisateurs et la gestion des rôles: tutoriels et meilleures pratiques

Laravel Middleware implémente les autorisations d'accès aux utilisateurs et la gestion des rôles: tutoriels et meilleures pratiques

M66 2025-06-26

introduction

Lors du développement d'applications Web, la gestion des droits et des rôles d'accès aux utilisateurs est une étape importante pour garantir la sécurité des applications. Le middleware de Laravel offre un moyen simple et flexible de contrôler les autorisations et les rôles des applications. Cet article vous montrera comment implémenter le contrôle d'accès et la gestion des rôles à l'aide de Laravel Middleware à travers des exemples.

1. Qu'est-ce que le middleware

Le middleware est une caractéristique importante du cadre Laravel, qui est utilisé pour traiter les demandes avant leur arrivée au traitement de routage ou avant le retour de la réponse. Dans Laravel, le middleware peut être utilisé pour vérifier l'identité de l'utilisateur, vérifier les autorisations de l'utilisateur et d'autres opérations pour assurer la sécurité de l'application.

2. Gestion d'autorisation du middleware et de l'application

Dans le développement réel, nous devons gérer les droits d'accès aux différents utilisateurs afin de s'assurer qu'ils ne peuvent accéder qu'à un contenu autorisé. Laravel Middleware nous fournit un puissant mécanisme de gestion des autorisations.

Créer des middleware

Tout d'abord, nous devons créer un middleware pour vérifier les autorisations de l'utilisateur. Le middleware peut être créé à l'aide de la commande suivante:
PHP Artisan Make: Middleware CheckPermission
Cette commande crée un fichier nommé `checkPermission.php` dans le répertoire` app / http / middleware`.

Implémenter la logique de vérification de l'autorisation

Ensuite, rédigez la logique pour la vérification de l'autorisation dans la méthode «Handle» dans le fichier `CheckPermission.php». Par exemple, le code suivant montre comment vérifier qu'un utilisateur a une autorisation «admin»:
<?php
namespace App\Http\Middleware;

use Closure;

class CheckPermission
{
    public function handle($request, Closure $next)
    {
        // Vérifier les autorisations des utilisateurs
        if (!auth()-> user () -> haspermission (&#39;admin&#39;)) {
            Aborter (403, «Action non autorisée»);
        }

        retourner $ suivant ($ demande);
    }
}

Dans l'exemple ci-dessus, il est supposé que l'utilisateur doit avoir l'autorisation d'administration pour accéder à la page spécifiée, sinon une erreur 403 sera renvoyée.

Enregistrer le middleware

Pour que le middleware prenne effet, nous devons l'enregistrer dans le fichier `kernel.php`. Nous pouvons spécifier un alias pour le middleware dans le tableau «$ routemiddleware», par exemple:
protégé $ routeMiddleware = [
    // Autre middleware ...
    &#39;can.access&#39; => \ app \ http \ middleware \ checkPermission :: class,
]]

De cette façon, nous pouvons utiliser l'alias dans l'itinéraire pour appliquer le middleware.

Middleware d'application

Dans les itinéraires qui nécessitent une vérification de l'autorisation, nous pouvons appliquer le middleware via un alias middleware. Par exemple, le code suivant montre comment appliquer le middleware `can.access` dans un itinéraire:
Route :: get (&#39;/ admin / dashboard&#39;, function () {
    // Logique de contrôle d&#39;accès}) -> middleware (&#39;can.access&#39;);

Ce code garantit que seuls les utilisateurs avec l'autorisation «admin» peuvent accéder à la page / administrateur / tableau de bord .

3. Gestion des rôles du middleware et de l'application

En plus du contrôle de l'autorisation, Laravel Middleware peut également nous aider à mettre en œuvre la gestion des rôles. Pendant le processus de développement, il est souvent nécessaire de contrôler les droits d'accès aux utilisateurs en fonction de différents rôles.

Créer un middleware de vérification des rôles

Vous pouvez le modifier en fonction du middleware `camière 'middleware créé précédemment pour ajouter la logique pour la vérification des rôles. Voici un exemple:
Poignée de fonction publique ($ demande, fermeture $ suivant, Role $)
{
    // Vérifiez le rôle de l&#39;utilisateur if (! Auth () -> user () -> Hasrole ($ role)) {
        Aborter (403, «Action non autorisée»);
    }

    retourner $ suivant ($ demande);
}

Dans ce code, nous ajoutons un paramètre de rôle $ pour passer les rôles qui doivent être vérifiés.

Enregistrer la vérification des rôles middirware

De même, vous devez enregistrer le middleware de vérification des rôles dans le fichier `kernel.php` et spécifier un alias:
protégé $ routeMiddleware = [
    // Autre middleware ...
    &#39;has.role&#39; => \ app \ http \ middleware \ checkPermission :: class,
]]

Appliquer la vérification des rôles middleware

Dans les routes qui nécessitent une vérification des rôles, nous pouvons appliquer le middleware de vérification des rôles via un alias. Par exemple:
Route :: get (&#39;/ admin / dashboard&#39;, function () {
    // Logique de contrôle d&#39;accès}) -> middleware (&#39;has.role: admin&#39;);

De cette façon, seuls les utilisateurs avec le rôle «Admin» peuvent accéder à la page / tableau de bord .

en conclusion

Utilisez Laravel Middleware pour implémenter facilement le contrôle des autorisations et la gestion des rôles des applications. Middleware nous fournit un moyen flexible et efficace de garantir que les utilisateurs ne peuvent accéder aux pages que avec des autorisations ou des rôles. J'espère que l'introduction de cet article peut vous aider à mieux comprendre et utiliser Laravel Middleware.