/** * User login */ public function actionLogin() { if (!\Yii::$app->user->isGuest) { return $this->goHome(); } $userDriver = isset(\Yii::$app->params['user_driver']) == true && empty(\Yii::$app->params['user_driver']) == false ? strtolower(\Yii::$app->params['user_driver']) : 'local'; if ($userDriver == 'ldap') { if (isset(\Yii::$app->params['ldap']) == false) { throw new \Exception(yii::t('walle', 'the login dirver configs does not defined', array('loginType' => \Yii::$app->params['user_driver']))); } if (is_array(\Yii::$app->params['ldap']) == false) { throw new \Exception(yii::t('walle', 'the login dirver configs parse error', array('loginType' => \Yii::$app->params['user_driver']))); } $model = new LdapLoginForm(\Yii::$app->params['ldap']); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', ['isLdapLigin' => true, 'model' => $model]); } } elseif ($userDriver == 'local') { $model = new LoginForm(); if ($model->load(Yii::$app->request->post()) && $model->login()) { return $this->goBack(); } else { return $this->render('login', ['isLdapLigin' => false, 'model' => $model]); } } else { throw new \Exception(yii::t('walle', 'login type could not support', array('loginType' => \Yii::$app->params['user_driver']))); } }