gpt4 book ai didi

php - Laravel 在用户层自定义 session.lifetime

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:36 24 4
gpt4 key购买 nike

我正在覆盖其中一个中间件(对于 Laravel 网络应用程序)中的 session.timeout 值,但它似乎不会影响 session 超时。尽管如果我调试它会显示我已覆盖的值。

Config::set('session.lifetime', 1440);

默认值如下:

'lifetime' => 15,

我正在工作的网站对大多数用户来说 session 生命周期非常短,但对于选定的用户,我想提供更长的 session 生命周期。

最佳答案

似乎实现动态 lifetime 值的唯一方法是在 session 启动之前在中间件中设置值。否则为时已​​晚,因为应用程序 SessionHandler 已经使用默认配置值实例化了。

namespace App\Http\Middleware;

class ExtendSession
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, $next)
{
$lifetime = 2;
config(['session.lifetime' => $lifetime]);
return $next($request);
}
}

然后在kernel.php文件中,在StartSession之前添加这个类。

\App\Http\Middleware\ExtendSession::class,
\Illuminate\Session\Middleware\StartSession::class,

关于php - Laravel 在用户层自定义 session.lifetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45247239/

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