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
- 4429 reads
vedro-compota
Fri, 09/08/2017 - 16:36
Permalink
Почему POST лучше чем GET для запросов меняющих состояние
Ваше решение работоспособно (в данном случае уязвимость не критична) ,но всё же рекомендуется использовать выход POST-методом, как и для всех действий меняющих состояние сервера (подробнее о CSRF)
_____________
матфак вгу и остальная классика =)