Laravel 5.2会话cookie驱动程序

时间:2017-01-18 08:31:05

标签: laravel-5.2 session-cookies

我的 cookie 会话驱动程序有问题。我需要创建一个仅使用cookie的应用程序。使用我的配置,会话不会在带有cookie驱动程序的Laravel 5.2中持久存在。如果我使用文件会话驱动程序,它可以正常工作。

.env 文件:

SESSION_DRIVER=cookie

我还创建了一个中间件来检查是否存在自定义会话值(仅handle()函数):

public function handle($request, Closure $next)
{
    //dd(session('auth')) // null
    if (!session('auth')) {
        if ($request->ajax() || $request->wantsJson()) {
            return response('Unauthorized.', 401);
        } else {
            return redirect('/');
        }
    }

    return $next($request);
}

我将中间件添加到 app / Http / Kernel.php 中的$routeMiddleware数组中:

'cookies' => \App\Http\Middleware\CheckCookies::class,

我的路线是:

Route::group(['middleware' => ['web']], function () {
    Route::get('/', 'LoginController@index');
    Route::post('login', 'LoginController@login');

    Route::group(['middleware' => 'cookies'], function () {
        Route::get('home','HomeController@index');
        Route::get('logout','HomeController@logout');
    });
});

这是我的LoginController@login方法:

public function login()
{
    session([
        'auth' => ['name' => 'John Doe']
    ]);

    return redirect('/home');
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

只需在laravel中使用<div class="nice-select small payment_type open" tabindex="0"> <span class="current">SELECTED OPTION APPEARS HERE</span> <ul class="list"> <li data-value="" class="option selected focus">Select a payment type </li> <li data-value="3" class="option">OPT.1<label class="additional-fee selection"> + € 0.60</label></li> <li data-value="4" class="option">OPT.2</li> <li data-value="6" class="option">OPT.3<label class="additional-fee selection"> + € 0.40</label></li> <li data-value="27" class="option">OPT.4<label class="additional-fee selection"> + € 0.50</label></li> </ul> </div> 外墙。

Cookie

永远制作饼干

Cookie::queue('key', 'value', $minutes);

修改您的代码并尝试此操作。

Cookie::forever('key', 'value');

LoginController@login

public function login(){ $cookieValue=json_encode(array('name'=>'John Dow')); Cookie::queue('auth', $cookieValue, 60); return redirect('/home'); } 中间件

CheckCookies