У меня есть простая форма на моем сайте, и я хочу проверить, не введет ли пользователь в систему, прежде чем он сможет опубликовать форму. Итак, я поместил промежуточное ПО auth на этот почтовый маршрут. как this-Laravel auth middleware не работает для почтового маршрута
Route::post('test','[email protected]_mid')->middleware('auth');
Мой аутентификации промежуточного слоя, как this- 'логин'
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
Здесь перенаправлять на мою страницу входа в систему.
Проблема в том, после того, как я нажал на кнопку входа в систему, он shows-
MethodNotAllowedHttpException in RouteCollection.php line 219:
at RouteCollection->methodNotAllowed(array('POST')) in RouteCollection.php line 206
Мой HTML form-
{{Form::open(array('url'=>"/test"))}}
<input type="submit" value="submit">
{{Form::close()}}
Но если я устанавливаю аутентификации промежуточного ПО на GET route.It игровая работая штраф. В случае GET, если я вышел из системы, он приведет меня к странице входа и после того, как я предоставил регистрационные данные и нажал кнопку входа в систему, она приведет меня к желаемому GE T маршрут.
Не работает 'охранники' @ Крис Cynarski –
=> [ 'паутина' => [ 'драйвер' => 'сессии', 'поставщик' => 'пользователи', ], –
На самом деле по умолчанию защитник является веб-сайтом. Вы уверены, что используете POST-запрос '/ test'? Добавьте свой HTML-представление к вопросу. –