2016-06-20 5 views
0

でカスタム残りのアクションを作成し、私は、彼らが機密情報を含むためのparamsは、POSTメソッドで渡す必要がありauthUser()Yii2は私yii2アプリケーションでポストのparams

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

残りのアクションを開発する必要があります。

どうすればいいですか?どのようにして私のparamsをpostメソッドで受け取るようにURLマネージャを設定できますか?すべての助けを事前に

おかげ

答えて

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'))]); 
}