2016-06-20 38 views
0

在我yii2應用定製的其餘動作我需要開發一個休息行動authUser()Yii2創建post數據

public function actionAuthUser($username, $password) 
{ 
    return \api\models\User::findOne(['username' => $username, 'password' => sha1($password)]); 
} 

的PARAMS應該POST方法傳遞,因爲它們包含敏感信息。

我該怎麼做?我如何設置網址管理員使用post方法接收我的參數?

預先感謝所有幫助

回答

3
[ 
    'components' => [ 
     'urlManager' => [ 
      'enablePrettyUrl' => true, 
      'showScriptName' => false, 
      'rules' => [ 
       // ... 
       [ 
        'POST site/auth-user' => 'site/auth-user', 
       ] 
      ], 
     ], 
    ], 
] 

或者添加行爲控制器

public function behaviors() 
{ 
    return [ 
     'verbs' => [ 
      'class' => VerbFilter::className(), 
      'actions' => [ 
       'auth-user' => ['post'], 
      ], 
     ], 
    ]; 
} 

並在控制器動作

public function actionAuthUser() 
{ 
    return \api\models\User::findOne(['username' => Yii::$app->request->post('username'), 'password' => sha1(Yii::$app->request->post('password'))]); 
}