在我的yii2应用程序中,我需要开发一个休息动作authUser()
public function actionAuthUser($username, $password)
{
return \api\models\User::findOne(['username' => $username, 'password' => sha1($password)]);
}
params应该使用post方法传递,因为它们包含敏感信息。
我该怎么做?如何设置网址管理员使用post方法接收我的参数?
提前致谢所有帮助
答案 0 :(得分:3)
[
'components' => [
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
// ...
[
'POST site/auth-user' => 'site/auth-user',
]
],
],
],
]
或向Controller添加行为
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'))]);
}