【问题标题】:Laravel 5.1 & remember me functionalityLaravel 5.1 和记住我的功能
【发布时间】:2016-10-12 05:38:55
【问题描述】:

我的 Laravel 5.1 应用程序让用户保持登录状态。我在 session.php 中设置变量如下:

'lifetime' => 1,
'expire_on_close' => true,

我花了很多时间在谷歌上搜索,但没有找到任何解决方案。我是否传递“true”、“false”或什么都不传递作​​为 Auth::attempt() 的“remember”参数并不重要。用户将在一分钟后或我关闭浏览器后保持登录状态。在我手动注销后,remember_token 被写入数据库,这对我来说似乎很奇怪。

我在 Firefox 和 Chromium 中都检查过,这似乎不是特定于浏览器的问题。提前感谢您的帮助!

编辑:当我关闭浏览器时,我需要会话过期。我将生命周期设置为 1 分钟,只是为了看看至少这是否可行,但它没有。

【问题讨论】:

  • 一分钟的会话听起来没用...你至少设置30分钟左右吗?
  • 当我关闭浏览器时,我需要会话过期。我将它设置为 1 分钟只是为了看看这是否会做出任何改变,但它没有
  • 试过其他浏览器并清除cookies?
  • 我尝试了 Firefox 和 Chromium,这应该足够了......清除 cookie 是除手动注销之外的另一种注销用户的方式,哈哈。

标签: php laravel authentication


【解决方案1】:

如果 expire_on_close 设置为 true,laravel 将忽略生命周期。

'lifetime' => 1,
'expire_on_close' => true,

在这种情况下,会话在 1 分钟后有效 - 它只会在关闭浏览器后过期。将其更改为:

'lifetime' => 1,
'expire_on_close' => false,

现在会话将在 1 分钟后过期。无论浏览器是否关闭 - 关闭。

【讨论】:

  • 好吧,其实我不需要它在 1 分钟后过期。我需要它在我关闭浏览器后过期...
猜你喜欢
  • 2015-10-10
  • 2021-10-18
  • 1970-01-01
  • 2015-12-23
  • 1970-01-01
  • 2013-09-04
  • 2016-04-11
  • 2013-10-07
  • 2012-08-08
相关资源
最近更新 更多