auth :: check()在ajax调用上失败(有时)

Pas*_*tin 5 ajax laravel laravel-4

我有一个登录用户访问我的JavaScript应用程序.

在初始化期间,应用程序发送几个Ajax调用来收集一些信息.

有时,我会说十分之一,其中一个呼叫在我的一个路由过滤器中中止.

我观察到的是:

  • 每次都不会发生
  • 并不总是相同的路线(电话)
  • 同时可能有多个失败
  • 一个简单的页面刷新重新触发调用,因为它不是一个持续的失败,一切都恢复正常......直到下一个故障.

这是故障的过滤器:
我知道这是因为我更换了403418,它将"禁止"故障变成了"茶壶"故障.

Route::filter('auth-api', function() {
   if (!Auth::check()) { App::abort(403, "Auth-api filter denied"); } 
});
Run Code Online (Sandbox Code Playgroud)

这就是行动中的奇怪错误:
所有的/api/[whatever]过滤器都是相同的过滤器,在这种情况下,/api/assurances死亡时其他人都会变好.

在此输入图像描述

Lau*_*nce 1

听起来您的会话由于某种原因失败了。这可能是由于file会话驱动程序造成的,在短时间内连续多次访问时可能会导致竞争条件。

最好的选择是更改会话驱动程序并测试另一个会话驱动程序问题是否仍然存在。我建议尝试使用 Redis 或 Memcache - 因为它们被设计为快速、快速且可靠。