Вы можете сохранить last visited url
в базе данных. Затем, когда пользователь войдет в систему, просто извлеките этот URL и перенаправьте пользователя на эту страницу.
Код для демонстрации:
Создайте миграцию, чтобы добавить last_visited_page
в таблицу существующих пользователей:
php artisan make: миграция add_last_visited_page_to_users
//Add last visited page to users table:
Schema::table('users', function(Blueprint $table){
$table->string('last_visited_url')->nullable();
});
Чтобы сохранить последний URL в базе данных, вы можете добавить подпрограмму обновления к вашей функции контроллеров, например:
public function show($id)
{
//The show function code
//Before the return, add:
$user = Auth::user();
$user->last_visited_url = Route::getCurrentRoute()->getPath();
$user->save();
}
Теперь вам нужно изменить функцию по умолчанию authenticated
. Внутри LoginController
,
по умолчанию в каталоге app\Http\Controllers\Auth
:
public function authenticated()
{
$userLastVisitedUrl = Auth::user()->last_visited_url;
if (!is_null($userLastVisitedUrl))
return redirect($userLastVisitedUrl);
return redirect($this->redirectTo);
}
Теперь, когда пользователь вошел в вашу систему, он будет перенаправлен на последнюю посещенную страницу;
Надеюсь, это поможет.