Aktueller Standort: Startseite> Neueste Artikel> Laravel Middleware implementiert Benutzerzugriffsberechtigungen und Rollenverwaltung: Tutorials und Best Practices

Laravel Middleware implementiert Benutzerzugriffsberechtigungen und Rollenverwaltung: Tutorials und Best Practices

M66 2025-06-26

Einführung

Bei der Entwicklung von Webanwendungen ist die Verwaltung von Benutzerzugriffsrechten und -rollen ein wichtiger Schritt, um die Sicherheit der Anwendungen zu gewährleisten. Die Middleware von Laravel bietet eine einfache und flexible Möglichkeit, die Berechtigungen und Rollen von Anwendungen zu steuern. In diesem Artikel wird angezeigt, wie Sie die Zugriffskontrolle und das Rollenmanagement mithilfe von Laravel Middleware anhand von Beispielen implementieren können.

1. Was ist Middleware

Middleware ist eine wichtige Funktion im Laravel -Framework, mit der Anforderungen verarbeitet werden, bevor sie zur Routing -Verarbeitung gelangen oder vor der Antwort der Antwort zurückkehren. In Laravel kann Middleware verwendet werden, um die Identität des Benutzers zu überprüfen, die Berechtigungen des Benutzers und andere Vorgänge zu überprüfen, um die Sicherheit der Anwendung zu gewährleisten.

2. Autorisierungsmanagement von Middleware und Anwendung

In der tatsächlichen Entwicklung müssen wir Zugriffsrechte für verschiedene Benutzer verwalten, um sicherzustellen, dass sie nur auf autorisierte Inhalte zugreifen können. Laravel Middleware bietet uns einen leistungsstarken Mechanismus für das Erlaubnismanagement.

Middleware erstellen

Zunächst müssen wir eine Middleware erstellen, um die Berechtigungen des Benutzers zu überprüfen. Middleware kann mit dem folgenden Befehl erstellt werden:
Php Artisan Make: Middleware CheckPermission
Dieser Befehl erstellt eine Datei mit dem Namen `checkPermission.php` im Verzeichnis" app/http/Middleware ".

Implementieren Sie die Logik zur Berechtigungsüberprüfung

Schreiben Sie als Nächstes die Logik zur Berechtigungsüberprüfung in der "Handle" -Methode in der Datei "CheckPermission.php". Der folgende Code zeigt beispielsweise, wie überprüft wird, ob ein Benutzer die Berechtigung von "Administrator" hat:
<?php
namespace App\Http\Middleware;

use Closure;

class CheckPermission
{
    public function handle($request, Closure $next)
    {
        // Überprüfen Sie die Benutzerberechtigungen
        if (!auth()-> user ()-> HaSermission (&#39;admin&#39;)) {
            abort (403, &#39;unbefugte Handlung&#39;);
        }

        Rückgabe $ als nächstes ($ request);
    }
}

Im obigen Beispiel wird davon ausgegangen, dass der Benutzer die Berechtigung über "Administrator" haben muss, um auf die angegebene Seite zuzugreifen, andernfalls wird ein 403 -Fehler zurückgegeben.

Middleware registrieren

Damit die Middleware wirksam werden kann, müssen wir sie in der Datei "Kernel.php" registrieren. Wir können einen Alias ​​für die Middleware im "$ routemiddleware" -Array angeben, zum Beispiel:
geschützt $ routemiddleware = [
    // Andere Middleware ...
    &#39;Can.access&#39; => \ app \ http \ Middleware \ CheckPermission :: Klasse,
];

Auf diese Weise können wir den Alias ​​in der Route verwenden, um die Middleware anzuwenden.

Anwendung Middleware

In Routen, die eine Berechtigungsüberprüfung erfordern, können wir Middleware über Middleware -Alias ​​anwenden. Der folgende Code zeigt beispielsweise, wie die Middleware "Can.access`" in einer Route angewendet wird:
Route :: get (&#39;/admin/Dashboard&#39;, function () {
    // Zugriffskontrolllogik})-> Middleware (&#39;Can.access&#39;);

Dieser Code stellt sicher, dass nur Benutzer mit der Berechtigung "Admin" auf die Seite /Administrator /Dashboard -Seite zugreifen können.

3. Rollenverwaltung von Middleware und Anwendung

Neben der Berechtigungssteuerung kann Laravel Middleware auch helfen, das Rollenmanagement zu implementieren. Während des Entwicklungsprozesses ist es häufig erforderlich, die Zugriffsrechte der Benutzer auf der Grundlage verschiedener Rollen zu kontrollieren.

Rollenüberprüfung Middleware erstellen

Sie können es basierend auf der zuvor erstellten Middleware "CheckPermission" ändern, um die Logik für die Rollenüberprüfung hinzuzufügen. Hier ist ein Beispiel:
öffentliche Funktion Handle ($ Anfrage, Schließung $ $ Weitere, $ rollen)
{
    // Überprüfen Sie die Rolle des Benutzers if (! Auth ()-> user ()-> hasrole ($ rollen)) {
        abort (403, &#39;unbefugte Handlung&#39;);
    }

    Rückgabe $ als nächstes ($ request);
}

In diesem Code fügen wir einen Parameter von $ rollen hinzu, um die Rollen zu übergeben, die überprüft werden müssen.

Registrieren Sie Rollenüberprüfung Middleware

In ähnlicher Weise müssen Sie die Rollenüberprüfung Middleware in der Datei "Kernel.php" registrieren und einen Alias ​​dafür angeben:
geschützt $ routemiddleware = [
    // Andere Middleware ...
    &#39;has.role&#39; => \ app \ http \ Middleware \ CheckPermission :: Klasse,
];

Rollenüberprüfung Middleware anwenden

In Routen, die eine Rollenüberprüfung erfordern, können wir Rollenüberprüfung Middleware über Alias ​​anwenden. Zum Beispiel:
Route :: get (&#39;/admin/Dashboard&#39;, function () {
    // Zugriffskontrolllogik})-> Middleware (&#39;Has.ROLE: admin&#39;);

Auf diese Weise können nur Benutzer mit der Rolle "Admin" auf die Seite /admin /Dashboard -Seite zugreifen.

abschließend

Verwenden Sie Laravel Middleware, um die Berechtigungssteuerung und die Rollenverwaltung von Anwendungen einfach zu implementieren. Middleware bietet uns einen flexiblen und effizienten Weg, um sicherzustellen, dass Benutzer nur mit Berechtigungen oder Rollen auf Seiten zugreifen können. Ich hoffe, die Einführung dieses Artikels kann Ihnen helfen, Laravel Middleware besser zu verstehen und zu verwenden.