Benutzer Authorisieren und Rechte überprüfen mit Gate
Gate definieren und im AppServiceProvider ablegen
Gate::define('edit-job', function(User $user, Job $job){
return $job->employer->user->is($user);
});
Gate in der entsprechenden Funktion aufrufen
Gate::authorize('edit-job', $job);
Gate in der Route aufrufen via middleware
Route::get('/jobs', [JobController::class, 'index']);
Route::get('/jobs/create', [JobController::class, 'create'])->middleware('auth');
Route::post('/jobs', [JobController::class, 'store']);
Route::get('/jobs/{job}', [JobController::class, 'show']);
Route::get('/jobs/{job}/edit', [JobController::class, 'edit'])->middleware('auth')->can('edit-job', 'job');
Route::patch('/jobs/{job}', [JobController::class, 'update']);
Route::delete('/jobs/{job}', [JobController::class, 'destroy']);