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

时间:2016-10-20 06:51:33

标签: php laravel laravel-5

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

class AdminSessionDriver
{

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

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

1 个答案:

答案 0 :(得分:0)

您可以在此处更改用于通过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);
    }
}