我有一个Laravel 4.2项目,我们遇到了会话问题。如果ajax调用被发送并需要一段时间才能执行,并且在有人注销的同时,ajax请求(因为它在注销发生后完成)将刷新会话数据并且用户将返回。有几个其他问题,也是由会话刷新时的确切场景引起的。
我们正在使用数据库作为会话驱动程序。
我正在考虑编写一个自定义驱动程序,它会在保存之前刷新数据库中的会话数据,但为此我需要扩展Session :: put()方法以找出在该请求生命周期中实际添加的内容。
我一直在尝试扩展Session系统,但是有一部分代码可以使用 在... / vendor / laravel / framework / src / Illuminate / Foundation / Application.php中对Laravel的会话中间件进行了硬编码引用
$client = (new Builder)
->push('Illuminate\Cookie\Guard', $this['encrypter'])
->push('Illuminate\Cookie\Queue', $this['cookie'])
->push('Illuminate\Session\Middleware', $this['session'], $sessionReject);
所以我的问题是,如果有一种扩展Session :: put()方法的方法,或者如果我的初始问题有解决方案,那么更好吗?任何帮助将不胜感激。
感谢。