Dieser Artikel bringt Ihnen relevantes Wissen über laravel, das hauptsächlich die Probleme im Zusammenhang mit dem Erweiterungspaket der Berechtigungsverwaltung vorstellt. Ich hoffe, es wird für alle hilfreich sein.
【Verwandte Empfehlung: Laravel-Video-Tutorial】
Zum Beispiel hat das Forum, das wir normalerweise verwenden
Webmaster ------- die höchste Autorität und ist das Wichtigste. Es ist die Berechtigung, Benutzer zu verwalten.
Administrator ----- Die Verwaltung einiger Artikel wird keine großen Auswirkungen auf die Website haben
Normale Benutzer ---- können nur einfache Ergänzungen, Löschungen, Änderungen, Kommentare usw. an ihren eigenen Artikeln vornehmen Besucher ---- können nur grundlegendes Durchsuchen durchführenTabellen erstellen
Rollen --- ---- Rolleninformationen: Webmaster usw.
Permissions (Berechtigungen) und
Roles(Rollen), eine Berechtigung kann mehreren Rollen gehören und eine Rolle kann mehrere Berechtigungen haben. Die Beziehung ist: viele-zu-viele (role_has_permissions) Benutzer und
Berechtigungeneins-zu-viele (model_has_permissions) Benutzer und
Rolleeins-zu-viele (model_has_roles) Mit anderen Worten, die Beziehung ist klar, wann der Benutzer welche Rolle oder was hat Berechtigungen, der entsprechende Vorgang wird ausgeführt
1. Installieren Sie das ErweiterungspaketDatenbankmigrationsdatei generieren:composer require "spatie/laravel-permission:~2.7"Nach dem Login kopieren
php artisan seller:publish --provider="SpatiePermissionPermissionServiceProvider" --tag="migrations"
Sie können sehen Zugehörige Tabelleninformationen im Migrationsverzeichnis, Datenbankmigration ausführen.
php artisan migrate
Hinzufügen Rollen für Benutzer
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"
Berechtigungen für Benutzer entfernen
..... use Spatie\Permission\Traits\HasRoles; // use class User extends Authenticatable { use HasRoles; // 加载角色相关信息 .....
Berechtigungen zu Rollen hinzufügen
use Spatie\Permission\Models\Role; use Spatie\Permission\Models\Permission; ..... $role = Role::create(['name' => 'writer']); // 创建角色 $permission = Permission::create(['name' => 'edit articles']);// 创建权限
Berechtigungen zu einer Rolle hinzufügen
$user->givePermissionTo('edit articles');
Eine Berechtigung widerrufen und eine neue hinzufügen
$user->assignRole('writer'); $user->assignRole(['writer', 'admin']);
$user->revokePermissionTo('edit articles');
$role->givePermissionTo('edit articles');
$role->givePermissionTo('edit articles');
$user->syncPermissions(['edit articles', 'delete articles']);
$user->getRoleNames();
$role->syncPermissions($permissions); // @param array $permissions $permission->syncRoles($roles);
$role->revokePermissionTo($permission); $permission->removeRole($role);
$permissions = $user->permissions;
[Verwandte Empfehlungen:
Laravel-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonLassen Sie uns über das Erweiterungspaket für die Berechtigungsverwaltung in Laravel sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!