【发布时间】:2017-07-04 02:30:50
【问题描述】:
我的站点中有一个简单的表单,我想在用户发布表单之前检查用户当前是否已登录。我已将 auth 中间件放在 post 路由中...
Route::post('test','SellController@test_mid')->middleware('auth');
我的身份验证中间件...
<?php
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);
}
这里'login'重定向到我的登录页面。
问题是我点击登录按钮后,错误是......
RouteCollection.php 第 219 行中的 MethodNotAllowedHttpException: 在 RouteCollection->methodNotAllowed(array('POST')) 中 RouteCollection.php 第 206 行
表格...
{{ Form::open(array('url'=>"/test")) }}=
<input type="submit" value="submit">
{{ Form::close() }}
但是,如果我在 GET 路由上设置身份验证中间件,它就可以正常工作。在 GET 的情况下,如果我退出,它会引导我进入登录页面。在我提供登录凭据并点击登录按钮后,它会将我引导至所需的 GET 路线。
【问题讨论】:
标签: php laravel post middleware laravel-middleware