如何在laravel5中使用多会话驱动程序


how to use multiple session driver in laravel5

在Laravle5.3中我想使用多个会话驱动程序,在前端我只是使用redis作为驱动程序,但在后端必须使用数据库作为驱动程序,我尝试过,但找不到解决这个问题的方法,首先我只是在会话开始前使用中间件,如

class AdminSessionDriver
{
    public function handle($request, Closure $next)
    {
        if ($request->is('admin/*')) {
            Config::set('session.driver', 'ext_database');
        }
        return $next($request);
    }
}

,然后在admin路由中添加中间件,但如果这是当我使用Multi guard时,首先在后端登录管理员然后在前端登录用户,后端管理用户注销,但如果我使用一个会话驱动程序,它是好的,所以这是一个错误,如何解决这个问题?谢谢

这里您可以更改用于通过ID识别会话实例的cookie的名称。每当框架为每个驱动程序创建新的会话cookie时,这里指定的名称将被使用。

class AdminSessionDriver
{
    public function handle($request, Closure $next)
    {
        if ($request->is('admin/*')) {
            Config::set('session.driver', 'ext_database');
            Config::set('session.cookie', 'dashboard_session');
        }
        return $next($request);
    }
}