Heim > Backend-Entwicklung > PHP-Tutorial > Aufzündete Routenberechtigungen in Laravel

Aufzündete Routenberechtigungen in Laravel

Robert Michael Kim
Freigeben: 2025-03-06 01:37:08
Original
769 Leute haben es durchsucht

Enum-Powered Route Permissions in Laravel

laravel vereinfacht nun die Berechtigungsprüfung beim Routing, indem Sie die Unterstützung der Aufzählung in der can() -Methode direkt hinzufügen. Diese Verbesserung beseitigt die Notwendigkeit, explizit auf die value -Formen von Aufzählungen zugreifen zu können, wodurch die Routing -Definition einfacher und ausdrucksvoller wird.

Diese Funktion ist besonders großartig, wenn Sie Administratorplatten oder Multi-Mieter-Anwendungen erstellen, bei denen das Berechtigungsmanagement kritisch ist und Sie die Sicherheitsfunktionen von PHP nutzen möchten.

Route::get('/admin', function () {
    // ...
})->can(Permission::ACCESS_ADMIN);
Nach dem Login kopieren

Folgendes ist, wie die rollenbasierte Routing im Administratorbereich implementiert wird:

// app/Enums/AdminAccess.php

<?php namespace App\Enums;

enum AdminAccess: string
{
    case VIEW_REPORTS = 'view_reports';
    case MANAGE_STAFF = 'manage_staff';
    case EDIT_CONFIG = 'edit_config';
}

// web.php
Route::prefix('admin')->group(function () {
    Route::get('/reports', ReportController::class)
        ->can(AdminAccess::VIEW_REPORTS);

    Route::get('/staff', StaffController::class)
        ->can(AdminAccess::MANAGE_STAFF);

    Route::post('/config', ConfigController::class)
        ->can(AdminAccess::EDIT_CONFIG);
});
Nach dem Login kopieren

Routing -Definitionen werden intuitiver und einfacher zu pflegen:

// 旧方法
->can(AdminAccess::MANAGE_STAFF->value)
// 新方法,更简洁
->can(AdminAccess::MANAGE_STAFF)
Nach dem Login kopieren
Die erweiterte

-Methode macht Ihre Berechtigungsbasis eleganter und behält gleichzeitig die Vorteile des PHP-Typ-Systems bei. can()

Das obige ist der detaillierte Inhalt vonAufzündete Routenberechtigungen in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage