Laravel 5 url.intended 当会话驱动程序设置为 cookie 时损坏

Laravel 5 url.intended broken when session driver is set to cookie

我们的 Laravel 5.1 应用程序一直在使用 "native" 会话驱动程序设置(在 .env 文件中配置)。以这种方式设置后,我们能够使用 laravel url.intended 行为将用户重定向到他们在通过身份验证之前尝试访问的 url。

我们不得不将其更改为 "cookie",因为每次我们使用 Amazon 的 Opsworks 系统部署新版本时,用户都会注销,因为他们的服务器端会话文件不再可用。一旦我们将其更改为 cookie,即使我们部署了修补程序或新版本,用户仍保持登录状态。

但是,如果设置为 cookie,url.intended 根本不起作用。我尝试通过添加自定义 url 预期节点来组合一些解决方案,但它不起作用。似乎当用户在登录之前尝试访问 url 时,它设置了会话信息,但随后应用程序将用户重定向到登录页面,在那里它被取消了。

我正在使用 Debugbar 查看会话变量,我快疯了。我已经秃了,所以我没有更多的头发可以拔了。

有没有人有什么想法?

我们最终建立了一个 Dynamo 数据库,然后在一个公共服务器上过渡到 Redis。我们有一个负载平衡器,不希望会话因切换服务器而丢失或损坏,因此所有缓存现在都存储在该公共位置。