/** * Finds user by [[username]] * * @return User|null */ public function getUser() { if ($this->_user === null) { $this->_user = User::findByUsername($this->username); } return $this->_user; }
/** * Авторизуем пользователя. */ public function actionLogin() { // В случае если пользователь не гость, то мы перенаправляем его на главную страницу. В противном случае он бы увидел 403-ю ошибку. if (!Yii::$app->user->isGuest) { $this->goHome(); } $model = new User(['scenario' => 'login']); if ($model->load(Yii::$app->request->post())) { $user = User::findByUsername($model->login); if ($user && $user->validatePassword($model->password)) { Yii::$app->user->login($user, 3600 * 24 * 30); return $this->goBack(); } else { $model->addError('', 'Неверно введен логин или пароль'); return $this->render('login', ['model' => $model]); } } // Рендерим представление. return $this->render('login', ['model' => $model]); }