un
$user = Auth::user();
exit(json_encode($user));
if($user!="nologin" && $user!=null) {
if($user->role==10) return redirect()->route('admin-panel');
}
return view('welcome');
})->name('dashboard');
Вот полный роут.
Суть в том, что я авторизацию проверяю во vue js
Мне нужно что бы человек зашел на роут в любом случае, авторизован он или нет.
Если авторизован то произвожу проверку является ли он админом. И если является то я редиректю на другой Laravel Route
Во-вторых, сделайте метод готовый в моделе user что-то вроде такого
...
function isAdmin() {
Return $this->role ===10;
}
И на этом подобии все остальные роли тоже пройдите. Вдруг вы в дальнейшем измените ID ролей или у вас пользователю можно станет присваивать несколько ролей. Тогда вам не придётся ползать по всему проект и править эту проверку
В-третьих, вносите логику разграничений доступа из route файла. Этот файл вообще не должен такие вещь знать. Создавайте свои Middleware на подобии onlyForAdmin и убираейте туда все маршруты, которые доступны только для алмина
В-четвёртых, как сказали выше, вы не можете без подключения Middleware получить авторизированного пользователя,. Т к. Именно там и происходит формирование данных авторизированного пользователя =)