【问题标题】:Yii2 Session persistance when redirecting from one action to another从一个动作重定向到另一个动作时的Yii2会话持久性
【发布时间】:2015-09-03 03:35:51
【问题描述】:

使用 Yii2 框架:

下面的代码创建了一个无限循环。

谁能解释我如何使会话数据在重定向时保持不变?

我已经检查了,没有数据被传输,但是会话数据在 searchuser 中设置正确。

public function actionSearchUser()
{
    $session = \Yii::$app->session;
    $session->open();

    $session->set('admin.currentuser.id', "This worked out ok");

    return $this->redirect(['site/modify-user']);
}

public function actionModifyUser()
{

    $session = \Yii::$app->session;
    $session->open();

    if( !($session->has('admin.currentuser.id')) ) 
    {
          return $this->redirect(['site/search-user']);
    }
    else return $this->render('modifyUser');
}

这是我设置会话的地方:

    'session'=>array(
        'class' => 'yii\web\Session',
        'name' => 'SESSIONNAME',
        'timeout' => 86400,
        'savePath' => '/path/to/sessions',
        'useCookies' => true,
        'cookieParams' => array(
            'lifetime' => 86400,
            'path' => '/',
            'domain' => 'localhost', 
        ),
    ),

【问题讨论】:

  • 我的问题是域(我知道,我很愚蠢)。我有一个自定义域(n099y.local),所以我需要将域更改为该域,一切都很好。它在页面上显示所有正确的会话数据,直到我再次丢失数据时转到另一个页面。
  • 那么,你的问题解决了吗?

标签: php session yii yii2 yii2-advanced-app


【解决方案1】:

我的问题是域(我知道,我很愚蠢)。

我有一个自定义域 (n099y.local),所以我需要将 cookie 域从 localhost 更改为 n099y.local,一切都很好。

它在页面上显示所有正确的会话数据,直到我转到另一个页面时数据再次丢失,因为 cookie 域与我所在的域不匹配。

【讨论】:

    猜你喜欢
    • 2015-03-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    • 2011-06-22
    • 2010-09-30
    • 1970-01-01
    • 2012-05-16
    相关资源
    最近更新 更多