Полезно вернуть пользователя после авторизации на ту страницу, на которой он был до этого.
В контроллере
Используем referrer, проверяем его на null:
return $this->redirect(Yii::$app->request->referrer ?: Yii::$app->homeUrl);
То же можно сделать с помощью метода yii\web\Response goBack ( $defaultUrl = null ):
return $this->goBack();
В другом месте
Метод goBack() доступен только в контроллерах и их наследниках (\yii\base\Controller).Для замены используем код.
Используем вместо $this конструкцию Yii::$app->response->redirect
Yii::$app->getResponse()->redirect(Yii::$app->getUser()->getReturnUrl($defaultUrl));
В конфиге
Если вы использете расширение, например, dektrium/user, то можно вынести перенаправление в конфиг в Security:
'modules' => [
'user' => [
'class' => \dektrium\user\Module::className(),
...
'controllerMap' => [
'profile' => 'app\controllers\user\ProfileController',
'settings' => 'app\controllers\user\SettingsController',
'security' => [
'class' => 'app\controllers\user\SecurityController', //\dektrium\user\controllers\SecurityController
'on ' . \dektrium\user\controllers\SecurityController::EVENT_AFTER_LOGIN => function ($e) {
if (Yii::$app->user->can('admin')) {
Yii::$app->getResponse()->redirect(Yii::$app->getUser()->getReturnUrl());
}
}
],
SecurityController, создаёте в своем пространстве контроллеров и наследуете от базового контроллера в расширении user.
13 мая 2020, Программирование, веб-кодинг / Метки: перенаправление
16 января 2023

Yii2-user сменить текущего пользователя или переход на другого пользователя (SwitchIdentity)
Impersonate User / Become another user
12 декабря 2022

Yii2: uclead MultipleInput + kartik DepDrop
Настраиваем множественные поля с выпадающим списком