【问题标题】:Session expiring in Yii2 despite user activity尽管有用户活动,但 Yii2 中的会话到期
【发布时间】:2015-06-26 01:34:00
【问题描述】:

我已经开始使用 Yii2 并且需要在身份中存储有关用户的更多信息。我已经知道在 Yii2 中,这应该使用像

这样的会话来完成
Yii::$app->session->set('user.company_id', '121');

这很好用,因为我可以稍后在项目中使用以下方法获取这些值:

Yii::$app->session->get('user.company_id');

。但是,尽管用户在同一页面上活动,但这些会话值正在被清除。因此,在 5-10 分钟后,同一用户会看到基于会话值的一些字段,但是,如果我刷新会话值,则 1 分钟后会消失,这实际上应该在会话关闭或用户注销时发生。

任何建议我做错了什么?

【问题讨论】:

  • 你使用默认的 Yii2 用户组件吗?
  • 您找到解决方案了吗?我们面临同样的问题,但似乎没有很多可靠的信息(除了this ticket)。

标签: session yii2


【解决方案1】:

首先检查您的app\config\main.phpmain-local.php 是否包含:

'user' => [
    ...
    'enableAutoLogin' => true,
    ...
],

第二次检查是否对分配给变量的值进行了正确的分配:

$authTimeout;
$absoluteAuthTimeout;

请参阅here 了解更多信息。

【讨论】:

  • Doc says that $authTimeout & $absoluteAuthTimeout will not work if $enableAutoLogin is true.
  • @letsjump... 我已阅读...(我不知道文档是否在去年更改)。但对我来说,工作方面..
猜你喜欢
  • 2013-01-06
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 1970-01-01
  • 2010-12-06
相关资源
最近更新 更多