【问题标题】:Laravel session expire time for each session每个会话的 Laravel 会话过期时间
【发布时间】:2018-07-29 06:57:50
【问题描述】:

我们可以在 Laravel 中为每个会话设置过期时间吗?

如果我们可以通过我们创建的每个会话从控制器中实现它? 谢谢。

【问题讨论】:

  • 您创建的每个会话是什么意思??

标签: php laravel session


【解决方案1】:

您可以通过更改config/session.php 上的lifetime 值来更改应用程序范围内的会话生命周期:

/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to immediately expire on the browser closing, set that option.
|
*/

'lifetime' => 4320,
'expire_on_close' => false,

现在,如果你想控制每个用户的会话生命周期,你需要在用户登录之前设置这个值。

  1. 数据库中是否存在用户尝试
  2. 如果是,并且他是需要更长会话寿命的用户,请运行config(['session.lifetime' => $newLifetime]);
  3. 登录用户
  4. 为当前用户享受更长的会话寿命

——Source

您必须在LoginController 中进行上述更改。

【讨论】:

  • 是每个用户吗?还是整个网站?
  • @rtfm 如果我们在配置文件中更改它,它将适用于整个站点。如果我们按照上述 4 个步骤在LoginController 中更改它,它将是每个用户。
猜你喜欢
  • 2018-04-19
  • 2017-11-08
  • 1970-01-01
  • 2017-10-05
  • 2015-01-17
  • 2015-03-12
  • 2021-09-07
  • 2011-11-29
  • 1970-01-01
相关资源
最近更新 更多