【发布时间】:2017-01-24 01:19:23
【问题描述】:
我对 Laravel 上的特定路线有疑问。每隔一次(有时是第一次)调用特定路由时,就会收到一个 401 错误,从身份验证中间件返回。
文件中间件/Authenticate.php
class Authenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401); // THIS IS CALLED
} else {
return redirect()->guest('login');
}
}
return $next($request);
}
从那条路线出发:
Route::group(['middleware' => 'auth'], function () {
.........
Route::get('events', 'TaskController@events');
});
TaskController.php
public function events(Request $request) {
$time_from = $request->start;
$time_to = $request->end;
$events = array();
$user_id = Auth::user()->id;
.....
return response()->json($events, 200);
}
全部从 JQuery $.get 请求中调用。不知道为什么 Laravel 认为我是客人,然后就失去了 Session?
【问题讨论】:
-
运行此命令:
php artisan route:list并检查特定路由是否通过处理会话的 Web 中间件。