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