针对特定路线的Lumen / Laravel会话

时间:2018-06-13 08:33:35

标签: laravel lumen

我正在尝试使用Lumen会话但仅针对特定路线,因为在其他方面我不需要它。

我找到的只是启用像

这样的中间位置
$app->middleware([
    'Illuminate\Cookie\Middleware\EncryptCookies',
    'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
    'Illuminate\Session\Middleware\StartSession',
    'Illuminate\View\Middleware\ShareErrorsFromSession',
]);

(来源https://stackoverflow.com/a/32635502/1861519

但这将进行全局会话设置。但我只是在特定的路线上感到悲伤。

2 个答案:

答案 0 :(得分:0)

  

所有应用级中间件都在这里

  $app->middleware([
     \Illuminate\Cookie\Middleware\EncryptCookies,
     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse ]);
  

需要会话的自定义中间件

$ APP-> routeMiddleware([    '会议' => \照亮\会话\中间件\ StartSession]);

  

现在将其添加到路线

$app->get('/protected', ['middleware' => 'session', 'uses' => 'ProtectedController@index'])

答案 1 :(得分:0)

在特定路由上使用会话时,您可以尝试以下操作:

$session = $request->session();
$session->put('foo', 'bar');
echo $session->get('foo');
$session->save();

save()将为您保留会话文件。