Im vorherigen Kapitel haben wir uns mit dem Authentifizierungsprozess in Laravel befasst. Dieses Kapitel erklärt Ihnen den Autorisierungsprozess in Laravel.
Bevor wir uns weiter mit dem Autorisierungsprozess in Laravel befassen, lassen Sie uns den Unterschied zwischen Authentifizierung und Autorisierung verstehen.
Bei der Authentifizierung identifiziert das System oder die Webanwendung seine Benutzer anhand der von ihnen bereitgestellten Anmeldeinformationen. Wenn festgestellt wird, dass die Anmeldeinformationen gültig sind, werden sie authentifiziert, andernfalls ist dies nicht der Fall.
Bei der Autorisierung prüft das System oder die Webanwendung, ob die authentifizierten Benutzer auf die Ressourcen zugreifen können, auf die sie zugreifen oder die sie anfordern möchten. Mit anderen Worten: Es überprüft ihre Rechte und Berechtigungen für die angeforderten Ressourcen. Wenn festgestellt wird, dass sie auf die Ressourcen zugreifen können, bedeutet dies, dass sie autorisiert sind.
Daher umfasst die Authentifizierung die Überprüfung der Gültigkeit der Benutzeranmeldeinformationen und die Autorisierung die Überprüfung der Rechte und Berechtigungen für die Ressourcen, über die ein authentifizierter Benutzer verfügt.
Laravel bietet einen einfachen Autorisierungsmechanismus, der zwei Hauptwege umfasst, nämlich Gates und Policies.
Gates werden verwendet, um festzustellen, ob ein Benutzer berechtigt ist, eine bestimmte Aktion auszuführen. Sie werden normalerweise in App/Providers/AuthServiceProvider.php mithilfe der Gate-Fassade definiert. Gates sind ebenfalls Funktionen, die zur Durchführung von Autorisierungsmechanismen deklariert sind.
Richtlinien werden innerhalb eines Arrays deklariert und in Klassen und Methoden verwendet, die Autorisierungsmechanismen verwenden.
Die folgenden Codezeilen erklären Ihnen, wie Sie Gates und Richtlinien zum Autorisieren eines Benutzers in einer Laravel-Webanwendung verwenden. Beachten Sie, dass in diesem Beispiel die Funktion boot zum Autorisieren der Benutzer verwendet wird.
<?php namespace App\Providers; use Illuminate\Contracts\Auth\Access\Gate as GateContract; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; class AuthServiceProvider extends ServiceProvider{ /** * The policy mappings for the application. * * @var array */ protected $policies = [ 'App\Model' => 'App\Policies\ModelPolicy', ]; /** * Register any application authentication / authorization services. * * @param \Illuminate\Contracts\Auth\Access\Gate $gate * @return void */ public function boot(GateContract $gate) { $this->registerPolicies($gate); // } }
Das obige ist der detaillierte Inhalt vonLaravel – Autorisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!