gpt4 book ai didi

php - 用户登录后 Laravel 5 session 不会持续存在

转载 作者:IT老高 更新时间:2023-10-28 12:03:26 26 4
gpt4 key购买 nike

我在使用 Laravel 5 时遇到了一个有趣的问题。

用户登录后,登录状态不会跨页面保持。显然它与 Session:: 有关。

我登录用户的方式非常简单:

if (Auth::attempt(['email' => $data['email'], 'password' => $data['password']],
isset($data['remember_me']) ? TRUE : FALSE))
{
return redirect()->intended('/');
}

如果用户未登录,一个简单的 print_r(Session::all()); 会给我以下信息:

Array
(
[_token] => wV8o75lZnCZ0f6CMMQgdBBM2AxSYjtWisAXx6TgZ
[flash] => Array
(
[old] => Array
(
)

[new] => Array
(
)

)

[_previous] => Array
(
[url] => http://localhost/public
)

)

用户登录后重定向到 / 数组如下所示:

Array
(
[_token] => wV8o75lZnCZ0f6CMMQgdBBM2AxSYjtWisAXx6TgZ
[flash] => Array
(
[old] => Array
(
)

[new] => Array
(
)

)

[_previous] => Array
(
[url] => http://localhost/public/
)

[login_82e5d2c56bdd0811318f0cf078b78bfc] => 2
)

但是,在任何会导致页面刷新或重定向的操作之后, session 状态就会丢失。

我的 config/session.php 文件如下所示:

<?php

return [
'driver' => env('SESSION_DRIVER', 'file'),
'lifetime' => 120,
'expire_on_close' => false,
'encrypt' => false,
'files' => storage_path('framework/sessions'),
'connection' => null,
'table' => 'sessions',
'lottery' => [2, 100],
'cookie' => 'laravel_session',
'path' => '/',
'domain' => null,
'secure' => false,

];

可以写入和读取本地存储的 session 文件。

我尝试过使用 database 驱动器而不是文件。同样的事情发生了 [login_xx] => 2 键/值丢失并且我退出了。

由于 Session:: 没有完全重置,我怀疑我没有正确登录用户,或者只是在做一些我不应该在某处做的事情。

最佳答案

我遇到了类似的问题,我只是简单地调用了:

Session::save();

在对 session 存储进行任何添加/更新/删除之后。所以它看起来像:

$id = Input::get('id');
Session::forget('cart.' .$id);
Session::save();

关于php - 用户登录后 Laravel 5 session 不会持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com