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);
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); });
Routing -Definitionen werden intuitiver und einfacher zu pflegen:
// 旧方法 ->can(AdminAccess::MANAGE_STAFF->value) // 新方法,更简洁 ->can(AdminAccess::MANAGE_STAFF)
-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!