laravel会话驱动扩展—连接自定义会话管理系统
laravel 版本:5.3.*
用laravel开发公司信息系统过程中,由于业务或安全问题的考虑,会有一些特殊的用户会话管理方面的需求,如多个子系统会话统一管理或A系统业务操作导致B系统中某些在线用户需重新登录验证等等,此时可以通过扩展laravel 的会话驱动把所有子系统的会话保存到统一的会话平台,在平台中实现会话信息的统一管理接口。本文主要讨论laravel会话扩展的问题。
在laravel 5.3 中,框架支持的会话驱动有 file、cookie、database、apc、memcached、redis 等几种方式,现实践扩展一个summer 的会话驱动。
(1) 实现summer驱动类:创建名为SummerSessionHandler.php的驱动类
简单实现读会话函数
(2) 创建 summer会话驱动实例
(3)配置 summer 驱动
经过上述的三个步骤,一个简洁版的laravel会话驱动就扩展好了。在实际应用中第一步骤中的实现是重点,其中读会话函数最后的返回值是一个序列化过的数组,即return serialize($data),这样上一层的laravel调用才能成功解析返回数据,具体可以参照其他驱动的返回数据结构,除此外会话无需其他特殊处理。
关于laravel扩展会话的资料不多(英文的多一些),我的这个解决办法也是在和同伴研究了laravel的会话流程之后琢磨出来的,也算是对框架的入侵比较少的一种解决方案,但并不是什么标准答案,如遇问题,静候留言,可以一起讨论(微信公众号:程序员妹子)
您可以考虑发个微信小红包以资鼓励