У меня есть представление (URL: / equip-planner) с такой формой:
<form action="{{ url('equips') }}" method="POST" class="form-horizontal">
{{ csrf_field() }}
<input type="text" id="name" name="name" class="form-control-sm">
<button type="submit" class="btn btn-primary btn-sm">
<i class="fa fa-btn fa-plus">Create</i>
</button>
</form>
Маршруты:
Route::get('/equip-planner', 'EquipmentController@ep')->name('equip-planner');
Route::resource('equips', 'EquipmentController');
Конструктор контроллера:
public function __construct(){
$this->middleware('auth', ['except' => ['index', 'show','create','home','ep']]);
}
Когда я отправляю свою форму, она сначала проверяет, вошел ли пользователь в систему, поскольку метод ресурса store не указан в списке исключений в конструкторе контроллера.Таким образом, если пользователь не вошел в систему, он будет перенаправлен на страницу входа, что просто отлично.
НО: после успешного входа пользователь будет перенаправлен на / equips вместо / equip-planner.Я предполагаю, что это из-за действия формы ([...]action="{{ url('equips')}}[...])
.
У кого-нибудь есть идеи, как изменить перенаправление, чтобы пользователь был отправлен обратно в / equip-planner?... это вообще возможно?Я думаю, что должен быть еще один шаг назад, так как шаги: / equip-planner -> / equips -> login -> вернуться на сайт раньше, что / equips?
РЕДАКТИРОВАТЬ:
Содержимое моего приложения / Http / Middleware / RedirectIfAuthenticated.php:
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect()->intended('/home');
}
return $next($request);
}