无法在某些控制器

时间:2015-09-04 20:08:21

标签: laravel lumen

好吧,这是一个奇怪的。我最初遇到了设置会话值的一些问题,但事实证明这是因为我并没有return来自设置会话值的控制器方法。

我解决了这个问题并让我的用户控制器正常工作,而且它的工作正常。

我在UserController中设置如下。看起来文档引用了一些与会话交互的不同方式,但session()方法似乎是更标准的方法 - 至少基于流明文档(http://lumen.laravel.com/docs/session)。

session([
    'is_logged_in'  => true,
    'username'      => $user->getUsername(),
    'user'          => $user,
]);

我正在这样做:

$user = session('user')

现在我尝试在单独的控制器AdminController中引入一些新功能。我想在那里设置一个额外的变量:

session(['new_variable'  => 1])

但该会话变量实际上并未保存到会话中。

现在这里变得奇怪了。我目前正在使用cookie驱动程序执行此操作。如果我更改为file驱动程序,那么一切都会按预期完成。

此外,使用cookie驱动程序,如果我在原始UserController内设置该变量,而不是AdminController,那么也正确地保留了会话数据。

但是,使用AdminController驱动程序从cookie设置会话数据并不起作用。

我想也许这可能与Cookie上的path设置有关,但似乎所有Cookie路径都设置为' /' (正如你所料)。此外,没有任何不同的域用于此其他控制器 - 它位于同一个域中。

0 个答案:

没有答案