Мне нужно создать роль и ограничить для нее доступ к админке. В БД я добавил новое значение для роли, как можно ограничить для даной роли пути в routes (допустим, чтобы попытки перехода по /admin/... перенаправляли на 404)?
app/Http/Authenticate.php
public function handle($request, Closure $next)
{
if ($request->user()->hasRole('admin') {
return $next($request);
}
else if ($request->user()->hasRole('user'))
{
return redirect('404');
}
else
return redirect('/');
}
такой код редиректит с admin/ на 404, но дочерние страницы админки доступны
routes.php
//admin routes
Route::auth();
Route::group(['middleware' => ['auth']], function () {
Route::group(['middleware' => ['role']], function () {
Route::get('/...', function () {
return redirect(...);
});
//пути админки
});
//пути админки, которые доступны всем ролям, но при переносе их на уровень выше - ошибка PDOException