Перенаправить туда, где был пользователь до аутентификации - но с регистрацией - PullRequest
0 голосов
/ 12 марта 2019

Я вижу в промежуточном программном обеспечении RedirectIfAuthenticated:

return $next($request);

Что позволяет пользователю вернуться туда, где он был после входа в систему.

Есть ли способ добиться подобного, если пользователь достигает промежуточного программного обеспечения авторизации, ему предлагается войти в систему, но вместо этого регистрируется после регистрации, как пользователь может автоматически вернуться на исходную страницу?

1 Ответ

2 голосов
/ 12 марта 2019

Вы можете добавить следующие функции строк к RegistrationController.php

public function showRegistrationForm ()
{
    session(['before_registration_url' => url()->previous()]);

    return view('auth.register');
}

protected function redirectTo ()
{
    $url = session('before_registration_url');
    session()->forget('before_registration_url');

    return $url;
}

Функция showRegistrationForm перезапишет функцию по умолчанию в признаке RegistersUsers.Он сохранит предыдущий URL в текущем сеансе, а затем вернет представление по умолчанию.

функция redirectTo после регистрации извлечет сохраненный URL, удалит URL из сеанса и затем вернет URL.

Или, если вы хотите сохранить URL-адрес, на котором был пользователь до того, как он был перенаправлен в форму входа, вы можете добавить его в LoginController:

public function showLoginForm()
{
    session(['before_registration_url' => url()->previous()]);

    return view('auth.login');
}

Зависит оттам, где находится регистрационная форма.

- добавлено -

вы также можете использовать url.intended, потому что это устанавливается, когда промежуточное ПО перенаправляет вас налогин:

protected function redirectTo ()
{
    return session('url.intended');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...