Целевой класс [роль] не существует в маршрутах Laravel 11 промежуточного программного обеспеченияPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Целевой класс [роль] не существует в маршрутах Laravel 11 промежуточного программного обеспечения

Сообщение Anonymous »

Я использую 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»