2015-12-10 127 views
0

如果我運行登錄功能,它將打印User成功登錄後,用戶未登錄到YII2前端

public function actionLogin(){ 
if ($model->load(Yii::$app->request->post()) && $model->login()) { 
    if (Yii::$app->user->isGuest) { 
     echo "guest"; 
    } else { 
     echo "User"; 
    } 
    return $this->redirect(['dashboard']); 
} 

重定向後如果我運行儀表板功能它打印guest

public function actionDashboard() 
{   
    if (Yii::$app->user->isGuest) { 
     echo "guest"; 
    } else { 
     echo "User"; 
    } 
} 

Login型號:

public function login() 
{ 
    if ($this->validate()) { 
     return Yii::$app->user->login($this->getUser(), $this->rememberMe ? 3600 * 24 * 30 : 0); 
    } else { 
     return false; 
    } 
}   

這是getUser功能:

protected function getUser()  
{ 
    if ($this->_user === null) { 
     $this->_user = Customer::findByEmail($this->email); 
    } 

    return $this->_user; 
} 

請幫我到另一個函數檢查用戶是否被記錄?

回答

0

我成功解決了這個問題。

只是改變了後端/配置/ main.php或前端/配置/ main.php

改變這種

'components' => [ 
     'user' => [ 
      'identityClass' => 'common\models\Customer', //or Any models you want 
      'enableAutoLogin' => true, 
     ], 
] 
+0

這已經是我的前端\設置\ main.php '使用者' => [ 'identityClass'=>'frontend \ modules \ customer \ models \ Customer', 'enableAutoLogin'=> true, 'loginUrl'=> ['login'], ], –

+0

請任何其他答案? –

+0

你可以使用Yii調試器發佈數據庫日誌嗎? –

相關問題