Я использую Laravel 11 и пытаюсь реализовать промежуточное программное обеспечение. Он выдает вышеуказанную ошибку, но я очень уверен, что она существует.Route::get('/admin', [App\Http\Controllers\HomeController::class, 'dashboard'])
->middleware('role:admin')
->name('admin');
< /code>
kernel.php
protected $routeMiddleware = [
'role' => \App\Http\Middleware\RoleMiddleware::class
// Register your custom middleware here...
];
< /code>
rolemiddleware.php
class RoleMiddleware
{
public function handle($request, Closure $next, $role)
{
$user = Auth::user();
if (!Auth::check() || !$user->hasRole($role)) {
abort(403, 'Unauthorized');
}
return $next($request);
}
}
< /code>
Как примечание, я сделал kernel.php вручную, скопировав полный контент из Chatgpt. Он размещен в приложении \ http \ kernel.php. Я не уверен, имеет ли это какое -то отношение к приложению, не найдя «роль». Я также пытался изменить имена безрезультатно. Я не знаю, как двигаться вперед с этим.
Подробнее здесь: https://stackoverflow.com/questions/790 ... are-routes