Heim > PHP-Framework > Laravel > Eine ausführliche Untersuchung der Verwendung der Laravel-Autorisierung

Eine ausführliche Untersuchung der Verwendung der Laravel-Autorisierung

PHPz
Freigeben: 2023-04-12 09:53:14
Original
595 Leute haben es durchsucht

Laravel ist ein sehr beliebtes PHP-Framework mit vielen leistungsstarken Funktionen, einschließlich Autorisierung. In diesem Artikel werden wir uns mit der Verwendung der Laravel-Autorisierung befassen.

Was ist eine Autorisierung?

In Webanwendungen bezieht sich die Autorisierung auf den Prozess, ob ein Benutzer das Recht hat, auf bestimmte Ressourcen zuzugreifen oder bestimmte Vorgänge auszuführen. Die Autorisierung erfolgt in der Regel nach der Authentifizierung.

Grundlagen der Laravel-Autorisierung

Die Grundidee der Verwendung der Laravel-Autorisierung besteht darin, Richtlinien zu definieren und diese Richtlinien dann zu verwenden, um zu bestimmen, ob ein Benutzer die Berechtigung hat, auf eine bestimmte Ressource zuzugreifen. Eine Richtlinie ist eine einfache PHP-Klasse, die die Logik zur Prüfung definiert, ob ein Benutzer auf eine bestimmte Ressource zugreifen kann.

Definieren Sie eine Richtlinie

Um eine Richtlinie zu erstellen, führen Sie den folgenden Befehl aus:

php artisan make:policy PostPolicy --model=Post
Nach dem Login kopieren

Dieser Befehl erstellt eine Klasse (Richtlinie) namens PostPolicy, die dem Post-Modell zugeordnet wird. Sie können in dieser Klasse Methoden definieren, die bestimmen, ob der Benutzer Zugriff auf das Modell hat.

Hier ist eine Beispielrichtlinie, um zu bestimmen, ob ein Benutzer einen Beitrag aktualisieren kann:

class PostPolicy
{
    use HandlesAuthorization;

    public function update(User $user, Post $post)
    {
        return $user->id === $post->user_id;
    }
}
Nach dem Login kopieren

In dieser Richtlinie akzeptiert die Update-Methode zwei Parameter: $user und $post. $user ist eine Instanz des aktuellen Benutzers und $post ist eine Instanz des zu aktualisierenden Beitrags. Diese Methode gibt einen booleschen Wert zurück, der angibt, ob der Benutzer berechtigt ist, den Beitrag zu aktualisieren. In diesem Beispiel sind Aktualisierungen zulässig, wenn der aktuelle Benutzer mit dem Autor des Beitrags identisch ist.

Registrieren Sie eine Strategie

Um eine Strategie zu verwenden, müssen Sie sie registrieren. Sie können die Richtlinie in der AuthServiceProvider-Klasse registrieren. In dieser Klasse können Sie die Richtlinienmethode verwenden, um das Modell einer Richtlinie zuzuordnen.

Zum Beispiel ordnet der folgende Code ein Post-Modell einer PostPolicy-Richtlinie zu:

protected $policies = [
    'App\Post' => 'App\Policies\PostPolicy',
];
Nach dem Login kopieren

Eine Richtlinie verwenden

Sobald Sie eine Richtlinie definiert und registriert haben, können Sie sie in Ihrer Anwendung verwenden. Um Richtlinien zu verwenden, verwenden Sie die Autorisierungsmethode im Controller oder anderswo.

Zum Beispiel prüft der folgende Code, ob der aktuelle Benutzer die Berechtigung hat, einen bestimmten Beitrag zu aktualisieren:

public function update(Post $post)
{
    $this->authorize('update', $post);

    // The user is authorized to update the post...
}
Nach dem Login kopieren

Im obigen Beispiel akzeptiert die Autorisierungsmethode zwei Parameter: den Richtliniennamen (in diesem Beispiel „update“) und die spezifische Ressource Eine Instanz von ($post in diesem Beispiel). Wenn der Benutzer Zugriff auf die Ressource hat, ist der Zugriff zulässig. Andernfalls wird eine AuthorizationException ausgelöst.

Fazit

Die Laravel-Autorisierung ist sehr leistungsfähig und kann verwendet werden, um festzustellen, ob ein Benutzer die Berechtigung hat, auf eine bestimmte Ressource zuzugreifen oder eine bestimmte Aktion auszuführen. In diesem Artikel haben wir die Grundlagen der Laravel-Autorisierung untersucht, einschließlich der Definition von Richtlinien, der Registrierung von Richtlinien und der Verwendung von Richtlinien. Ich hoffe, dieser Artikel hilft Ihnen dabei, die Autorisierungsfunktionen von Laravel besser zu nutzen.

Das obige ist der detaillierte Inhalt vonEine ausführliche Untersuchung der Verwendung der Laravel-Autorisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage