/** * Logs in a user using the provided username and password. * * @return boolean whether the user is logged in successfully */ public function login() { if ($this->validate()) { $user = $this->getUser(); $logined = Yii::$app->getUser()->login($user, $this->rememberMe ? 3600 * 24 * 30 : 0); if ($logined) { // Record login information Yii::$app->db->createCommand('UPDATE {{%user}} SET [[login_count]] = [[login_count]] + 1, [[last_login_ip]] = :loginIp, [[last_login_time]] = :loginTime WHERE [[id]] = :id')->bindValues([':loginIp' => Yii::$app->getRequest()->userIP, ':loginTime' => time(), ':id' => Yii::$app->getUser()->getId()])->execute(); // 写入用户登录日志 UserLoginLog::write(); } return $logined; } else { return false; } }