修改laravel登录“记住我”保持时间

PHP开发 2024-12-29

laravel在登录时如果开启了“记住我”则会在cookie里保存一个token值,在该cookie过期之前都可以保持登录状态,除非手动退出登录。而laravel默认的保持时间是400天,这对于项目平时使用还说就太长了,需要调整登录保持的时间。

/**
   * The number of minutes that the "remember me" cookie should be valid for.
   *
   * @var int
   */
  protected $rememberDuration = 576000;

修改方法一:

编辑config/auth.php,找到 guards 增加remember配置:

'guards' => [
  'web' => [
    'driver'   => 'session',
    'provider' => 'users',
    'remember' => 60 * 24 * 3
  ]
]

方法二:

在调用登录之前调用setRememberDuration方法修改保持时间:

// 原方法
Auth::login($user, true);
// 修改为
Auth::setRememberDuration(60 * 24 * 3)->login($user, true);

这样在登录后cookie有效时间就已经更改了。

------ 本文结束 感谢阅读 ------