Может войдёшь?
Черновики Написать статью Профиль

Переадресация после авторизации в Laravel

перевод

Во встроенной в Laravel системе авторизации есть свойство PHPredirectTo в контроллерах PHPLoginController, PHPRegisterController и PHPResetPasswordController. В этом свойстве можно задать то место, в которое будут отправляться пользователи после выполнения соответствующего действия.

Внутри самого Laravel это настраивается и реализуется при помощи типажа PHPRedirectsUsers, а последние минорные улучшения позволяют вам определить метод PHPredirectTo(), для которого запасным вариантом остаётся свойство.

PHP
public function redirectPath()
{
    if (
method_exists($this'redirectTo')) {
        return 
$this->redirectTo();
    }

    return 
property_exists($this'redirectTo') ? $this->redirectTo '/home';
}

Благодаря этому новому методу вы можете просто выполнять другие действия или задавать расположение динамически. Для примера давайте предположим, что вы хотите перенаправлять пользователя на его личную страницу после входа в приложение. Теперь вы можете сделать что-то подобное в вашем PHPLoginController:

PHP
public function redirectTo()
{
    return 
'/@'.auth()->user()->username;
}

Как вы считаете, полезен ли этот материал? Да Нет

Комментарии (3)

kirill_dan

В подавляющем числе случаев, можно использовать return Redirect::back(); Предварительно подключив фасад Redirect (use Redirect;).

Vladimir_user

Не работает.

Пишет: ErrorException (E_WARNING)
Header may not contain more than a single header, new line detected

scriptix

Как то непривычно «при помощи типажа RedirectsUsers». Более привычно «при помощи трейта RedirectsUsers»;)

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.