yii2 method not allowed (#405) -- при вызове logout()
Primary tabs
При попытке выйти из системы - "разлогиниться" - отображается ошибка:
method not allowed (#405)
Метод контроллера выглядит так:
public function actionLogout()
{
Yii::$app->user->logout();
return $this->goHome();
}Решение
В моём случае помогло изменение behaviors контроллера (метод post изменён на get):
public function behaviors()
{
return [
...
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['get'],
],
],
];
}Также бывают случаи, когда необходимо добавить зависимость 'yii\web\YiiAsset' в AppAsset. Подробнее можно почитать здесь.
Источник:
- Log in to post comments
- 5241 reads
vedro-compota
Fri, 09/08/2017 - 16:36
Permalink
Почему POST лучше чем GET для запросов меняющих состояние
Ваше решение работоспособно (в данном случае уязвимость не критична) ,но всё же рекомендуется использовать выход POST-методом, как и для всех действий меняющих состояние сервера (подробнее о CSRF)
_____________
матфак вгу и остальная классика =)