Я постараюсь объяснить мою проблему в максимально возможной степени. Я только что создал Laravel приложение. Всякий раз, когда я вхожу в систему как пользователь или администратор (маршрут пользователя - http://localhost/Folder/, а маршрут администратора - http://localhost/Folder/admin ) и я ввожу путь просмотра имени входа, т.е. http://localhost/Folder/login, он переходит на эту страницу: http://localhost/Folder/home с сообщением об ошибке Страница не найдена
Я не добавил ни одного маршрута / home в свои маршруты. То, что я хочу, при вводе пути входа в систему, пользователь должен оставаться на той же странице, если он вошел в систему. И тот же случай для администратора вместо перехода по этому пути. http://localhost/Folder/home.
Вот маршруты для пользователя и администратора:
Route::get('/','HomeController@index')->name('home')->middleware(['auth','XSS']);
Route::group(['middleware' => ['auth','admin']], function()
{ Route::get('/admin/dashboard','HomeController@home_page')->name('admin.home');
});
Вот мой контроллер входа :
protected function redirectTo(){
if (Auth::user()->user_type == 'admin') {
//return 'admin.dashboard';
return redirect('/admin/dashboard');
}
else {
//return 'home';
return redirect('/');
}
}
И мой AdminMiddleware
public function handle($request, Closure $next)
{
if(Auth::user()->user_type == 'admin') //If usertype is admin
{
return $next($request);
}
else {
// return redirect('home');
return redirect()->route('/');
}
}
Все, что я хочу, это чтобы он оставался в системе при входе на страницу входа в маршрут. Я буду рад предоставить любые другие детали, если потребуется. Любые предложения / решения будут высоко оценены.