Heim  >  Artikel  >  PHP-Framework  >  Erweiterte Anwendung der Laravel-Berechtigungsfunktion: So realisieren Sie die visuelle Verwaltung und Konfiguration von Berechtigungen

Erweiterte Anwendung der Laravel-Berechtigungsfunktion: So realisieren Sie die visuelle Verwaltung und Konfiguration von Berechtigungen

WBOY
WBOYOriginal
2023-11-02 08:58:10923Durchsuche

Erweiterte Anwendung der Laravel-Berechtigungsfunktion: So realisieren Sie die visuelle Verwaltung und Konfiguration von Berechtigungen

Erweiterte Anwendung der Laravel-Berechtigungsfunktion: So realisieren Sie die visuelle Verwaltung und Konfiguration von Berechtigungen

Bei der Entwicklung umfangreicher Webanwendungen ist die Verwaltung von Benutzerberechtigungen eine sehr wichtige Funktion. Als beliebtes PHP-Framework bietet Laravel ein leistungsstarkes Berechtigungssystem und ist einfach zu verwenden und zu erweitern. In realen Anwendungen kann die codebasierte Berechtigungsverwaltung und -konfiguration jedoch komplex und fehleranfällig werden. Um dieses Problem zu lösen, können wir die Funktion der visuellen Verwaltung und Konfigurationsberechtigungen einführen. In diesem Artikel wird die Implementierung der visuellen Verwaltung und Konfiguration von Berechtigungen in Laravel vorgestellt und spezifische Codebeispiele gegeben.

1. Datenbankdesign

Bevor wir beginnen, müssen wir ein Datenbankmodell entwerfen, um berechtigungsbezogene Informationen zu speichern. Häufig verwendete Datenbanktabellendesigns sind wie folgt:

  • Benutzertabelle: Wird zum Speichern von Benutzerinformationen verwendet.
  • Rollentabelle: Wird zum Speichern von Rolleninformationen verwendet.
  • Berechtigungstabelle: Wird zum Speichern von Berechtigungsinformationen verwendet.
  • role_user-Tabelle: Wird zum Speichern der Beziehung zwischen Benutzern und Rollen verwendet.
  • permission_role-Tabelle: Wird zum Speichern der Beziehung zwischen Rollen und Berechtigungen verwendet.

2. Abhängigkeiten installieren und konfigurieren

Bevor wir Laravel zur Implementierung der visuellen Verwaltung und Konfiguration von Berechtigungen verwenden, müssen wir einige notwendige Abhängigkeiten installieren und konfigurieren. Zuerst müssen wir die Erweiterungspakete „Laravel Breeze“ und „Fortify“ für die Benutzerauthentifizierung und -autorisierung installieren. Die Installation kann mit dem folgenden Befehl abgeschlossen werden:

composer require laravel/breeze --dev

Nachdem die Installation abgeschlossen ist, müssen wir den Dienstanbieter „Fortify“ konfigurieren und einige notwendige Befehle ausführen, um Dateien für die Benutzerauthentifizierung zu generieren:

php artisan vendor:publish --provider="LaravelFortifyFortifyServiceProvider"
php artisan migrate
php artisan fortify:install
php artisan migrate

Als nächstes müssen wir installieren und konfigurieren Sie das Erweiterungspaket „Laravel Spatie“ für eine einheitliche Verwaltung und Kontrolle von Berechtigungen. Die Installation kann mit dem folgenden Befehl abgeschlossen werden:

composer require spatie/laravel-permission

Nach Abschluss der Installation müssen wir den Dienstanbieter des Erweiterungspakets „Spatie Permission“ konfigurieren und einige notwendige Befehle ausführen, um berechtigungsbezogene Dateien und Tabellen zu generieren:

php artisan vendor:publish --provider="SpatiePermissionPermissionServiceProvider"
php artisan migrate

3. Berechtigungsverwaltungsschnittstelle erstellen

Um eine visuelle Verwaltung und Konfiguration von Berechtigungen zu erreichen, müssen wir eine Berechtigungsverwaltungsschnittstelle erstellen, die Administratoren verwenden können. Diese Schnittstelle kann Administratoren die folgenden Funktionen bieten:

  • Erstellen, Bearbeiten und Löschen von Berechtigungen
  • Zuweisen von Rollen zu Berechtigungen
  • Zuweisen von Berechtigungen zu Rollen

Wir können die integrierte Ansichtsvorlagen-Engine von Laravel verwenden, um diese Berechtigungsverwaltungsschnittstelle zu erstellen . Erstellen Sie zunächst einen Berechtigungscontroller und definieren Sie einige notwendige Methoden:

namespace AppHttpControllers;

use IlluminateHttpRequest;
use SpatiePermissionModelsPermission;
use SpatiePermissionModelsRole;

class PermissionController extends Controller
{
    public function index()
    {
        $permissions = Permission::all();
        $roles = Role::all();

        return view('permissions.index', compact('permissions', 'roles'));
    }

    public function create()
    {
        $roles = Role::all();

        return view('permissions.create', compact('roles'));
    }

    public function store(Request $request)
    {
        $permission = Permission::create([
            'name' => $request->input('name'),
            'guard_name' => 'web',
        ]);

        $roles = $request->input('roles');
        $permission->syncRoles($roles);

        return redirect()->route('permissions.index');
    }

    // 其他方法(编辑、更新、删除等)
}

Als nächstes müssen wir die relevanten Ansichtsdateien erstellen. Erstellen Sie eine Datei „index.blade.php“, um die Berechtigungsliste anzuzeigen, eine Datei „create.blade.php“, um das Formular „Erstellungsberechtigungen“ anzuzeigen, und eine Datei „edit.blade.php“, um das Formular „Berechtigungen bearbeiten“ anzuzeigen.

In diesen Ansichtsdateien können wir HTML-Formularelemente und die Blade-Vorlagen-Engine von Laravel verwenden, um die entsprechenden Formulare zu erstellen und zu rendern. Das Folgende ist ein einfaches Beispiel für die Erstellung eines Berechtigungsformulars:

<form action="{{ route('permissions.store') }}" method="POST">
    @csrf
    <div class="form-group">
        <label for="name">权限名称</label>
        <input type="text" name="name" class="form-control" required>
    </div>
    <div class="form-group">
        <label for="roles">关联角色</label>
        <select name="roles[]" multiple class="form-control" required>
            @foreach ($roles as $role)
                <option value="{{ $role->name }}">{{ $role->name }}</option>
            @endforeach
        </select>
    </div>
    <button type="submit" class="btn btn-primary">创建权限</button>
</form>

IV Beispiel für die visuelle Verwaltung und Konfiguration von Berechtigungen

Um den Implementierungsprozess der visuellen Verwaltung und Konfiguration von Berechtigungen besser zu verstehen, nehmen wir ein einfaches Blog-System als ein Beispiel. Angenommen, unser System hat drei Rollen: Administrator, Herausgeber und normaler Benutzer sowie drei Berechtigungen: Artikel veröffentlichen, Artikel bearbeiten und Artikel löschen. Wir können diese Berechtigungen über die Berechtigungsverwaltungsschnittstelle erstellen und konfigurieren.

Zuerst erstellen wir diese Rollen und Berechtigungen in der Datenbank und implementieren die entsprechende Logik im Code.

In der Routing-Datei können wir die relevanten Routen für die Berechtigungsverwaltung definieren, wie unten gezeigt:

use AppHttpControllersPermissionController;

Route::middleware(['auth'])->group(function () {
    Route::resource('permissions', PermissionController::class)->except('show');
});

Dann können wir Berechtigungen durchsuchen und verwalten, indem wir auf die Route „Berechtigungen“ zugreifen.

Auf der Seite „Berechtigungsliste durchsuchen“ können wir die Berechtigungen sehen, die bereits im System vorhanden sind, und können Berechtigungen auf der Seite erstellen, bearbeiten, löschen und Berechtigungen Rollen zuweisen. Greifen Sie einfach direkt in Ihrem Browser auf die Route „Berechtigungen“ zu.

5. Zusammenfassung

Durch die Einführung der Funktionen zur visuellen Verwaltung und Konfiguration von Berechtigungen können wir die Verwaltungseffizienz von Benutzerberechtigungen erheblich verbessern und die Komplexität des Codes sowie die Möglichkeit von Fehlern reduzieren. In diesem Artikel stellen wir die Implementierung der visuellen Verwaltung und Konfiguration von Berechtigungen in Laravel vor und geben spezifische Codebeispiele.

Durch die oben genannten Schritte können wir Benutzerberechtigungen einfach über eine benutzerdefinierte Berechtigungsverwaltungsoberfläche verwalten und konfigurieren und so die Entwicklungseffizienz und das Benutzererlebnis verbessern. Ich hoffe, dieser Artikel hilft Ihnen bei der Implementierung der visuellen Verwaltung und Konfiguration von Berechtigungen in Laravel.

Das obige ist der detaillierte Inhalt vonErweiterte Anwendung der Laravel-Berechtigungsfunktion: So realisieren Sie die visuelle Verwaltung und Konfiguration von Berechtigungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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