В телеграм чате новички часто спрашивают тех, кто поопытнее, как автоматически авторизовать пользователя сразу после его регистрации и сделать редирект на личный кабинет или дашборд.
Возьмем типичный метод регистрации пользователя:
public function actionSignup() { $model = new SignupForm(); if ($model->load(Yii::$app->request->post())) { if ($user = $model->signup()) { return $this->goHome(); } } return $this->render('signup', [ 'model' => $model, ]); }
Все что нам потребуется, это обернуть редирект в следующую конструкцию:
if (Yii::$app->getUser()->login($user)) { return $this->goHome(); }
Система авторизует и перенаправит на домашнюю страницу. Можно указать любую другую с использованием метода redirect()