我在登录时从标题中以小部件的身份登录,并获得验证并返回用户数据,但是它没有重定向到仪表板。
这是我的代码:
class PublicHeaderWidget extends Widget {
public $action;
public function init() {
parent::init();
}
public function run() {
$model = new LoginForm();
$postData = Yii::$app->request->post();
if($postData){
$email = @$postData['LoginForm']['email'];
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
$model->scenario = 'lwe';
} else {
$model->scenario = 'default';
}
}
if ($model->load(Yii::$app->request->post())) {
if($model->login()) {
if(Yii::$app->user->identity->role->item_name == Yii::$app->params['role3']) {
return Yii::$app->Common->redirect(Url::toRoute(['dashboard/']));
} else {
Yii::$app->user->logout();
Yii::$app->session->setFlash('error', \Yii::t('app', 'Please login with profile holders details.'));
return Yii::$app->Common->redirect(Url::toRoute(['login']));
}
} else {
Yii::$app->session->set('user.postLoginData', Yii::$app->request->post()); // Set post data to get them in search results page
Yii::$app->session->setFlash('error', \Yii::t('app', 'Login Failed! Inavlid Email / Mobile or Password Try Again!'));
return Yii::$app->Common->redirect(Url::toRoute(['login/']));
}
}
return $this->render('publicHeader', [
'model' => $model,
]);
}
}