簡體   English   中英

從一個動作重定向到另一個動作時的Yii2會話持久性

[英]Yii2 Session persistance when redirecting from one action to another

使用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),所以我需要將cookie域從localhost更改為n099y.local,一切都很好。

它一直在頁面上顯示所有正確的會話數據,直到我再次進入另一個頁面時為止,因為Cookie域與我所在的域不匹配,因此再次丟失了數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM