Yii2: Регистрация пользователя и автоматическая авторизация

В телеграм чате новички часто спрашивают тех, кто поопытнее, как автоматически авторизовать пользователя сразу после его регистрации и сделать редирект на личный кабинет или дашборд.

Возьмем типичный метод регистрации пользователя:

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()

Рейтинг
( Пока оценок нет )
Maxyc Webber/ автор статьи
Мне 35 лет. Опыт профессиональной разработки 15 лет. Занимаюсь разработкой и поддержкой корпоративных систем автоматизации бизнеса, а также высоконагруженными проектами. Мне нравится решать нестандартные проблемы бизнеса. Имею опыт формирования команд под проект, налаживания процесса разработки, коммуникации программистов и заказчиков. Есть опыт работы с зарубежными заказчиками (ОАЭ, Польша, Германия, Швейцария).
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.