Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Всем привет. Сегодня заметил такую штуку в laravel:
Есть маршрут:
Route::group(['middleware' => 'auth', 'prefix' => '/users'], function () {
Route::get('/add', 'UserController@create');
Route::post('/add', 'UserController@store');
})
Используя Unit-тесты, отправил запрос сначала на post с данными:
$this->call('POST', '/users/add', ['name' => 'testName']);
и ожидая при этом ошибку 401... Но к моему удивлению, ошибка оказалась 302
Expected status code 401 got 302.
Failed asserting that 302 matches expected 401.
Исходя из логики, которую я предполагал увидеть, пользователя должно выбросить на страницу авторизации, а не говорить ему о том, что "страница временно перемещена". Как быть? подскажите! С запросами типа GET аналогичная проблема.
Еще попробовал сделать тоже самое со самой HTML страницы. Зашел на нее, ввел данные в форму, куки почистил и нажал кнопку отправить. Выдал ошибку 500. Ругается на токен... Видимо Аутентификация проходит в последнюю очередь... Как можно ее "поставить" вперед?
Заранее благодарен
Как сделали, так и работает. Не хотите 3хх редирект, тогда отдавайте вьюху с нужным статусом 4хх.
Не в сети
Если Laravel в версии 5.1, то middleware можно отключить для тестирования.
http://laravel.com/docs/5.1/testing#dis … middleware
А регистрация находится тут: app/Http/Kernel.php
Не в сети