0
我在我的网站中有一个简单的表单,我想检查用户当前是否登录,然后才能发布表单。所以,我已经在该邮政路线上放置了认证中间件。像这个 -Laravel认证中间件不适用于邮政路线
Route::post('test','[email protected]_mid')->middleware('auth');
我的身份验证的中间件就像是这个 -
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::open(array('url'=>"/test"))}}
<input type="submit" value="submit">
{{Form::close()}}
但如果我设置了身份验证的中间件上GET route.It的工作很好。在GET的情况下,如果我注销,它会导致我登录页面,并且在我提供登录凭据并点击登录按钮后,它会将我导向所需的GE T路线。
不工作@克里斯Cynarski –
'卫士'=> [ '网络'=> [ '司机'=> '会话', '供应商'=> '用户', ], –
其实警卫是默认情况下的网络。你确定你正在POST请求'/测试'路线吗?将您的HTML视图追加到问题中。 –