2016-07-27 75 views
0

我需要使用API​​登錄。 API發送$ _POST [ 'username'],$ _POST [ 'password'],actionLogin()使用API​​登錄。 yii2

public function actionLogin() 
{ 
if (!Yii::app()->user->isGuest) 
    $this->redirect($this->createUrl('site/_allorders')); 
$model = new LoginForm; 
if (isset($_POST['LoginForm'])) { 
    $model->attributes = $_POST['LoginForm']; 
    if ($model->validate()) { 
     $this->redirect(Yii::app()->user->returnUrl); 
    } 
} 
$this->layout = 'mini'; 
$this->render('_loginForm', array('model' => $model)); 
} 

方法$ model-> validate()正常通過,但不可能登錄。什麼是我的錯還是缺什麼?

回答

0

你需要在LoginForm類中登錄方法,難道你沒有登錄方法嗎?!

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

和登錄操作使用:

public function actionLogin() 
{ 
    if (!Yii::app()->user->isGuest) 
     $this->redirect($this->createUrl('site/_allorders')); 
    $model = new LoginForm; 

     if ($model->load(Yii::$app->request->post()) && $model->login()) { 
      $this->redirect(Yii::app()->user->returnUrl); 
     } 

    $this->layout = 'mini'; 
    $this->render('_loginForm', array('model' => $model)); 
} 

如果您最近加入yii2,請提前測試項目yii2是here 。它已經登錄API

+0

當我與API會話命令不起作用,當我從它的形式做起時,它就起作用了。 – Taron