使会话在Yii中工作

时间:2013-06-19 16:48:36

标签: php session yii

悲伤的Yii记录不清。

我已经构建了一个带有两个模块(用户和管理模块)的应用程序,每个模块都有登录功能。

使用Yii::app()->getModule('module_name')->user

引用每个用户

问题

  1. 会话未启用或会话永不过期。点是用户始终登录。
  2. 当两个用户都在同一个浏览器中登录时,即使使用getModule('module_name')作为参考,一个注销也会注销另一个用户。问题是用户总是登录。
  3. 我尝试了什么

    我有

    if($identity->authenticate()){
      Yii::app()->getModule('user')->user->login($identity,5); 
      //hoped the user will be logged out after 5 seconds but didn't work
    }
    

    还包括config / main.php中的以下内容

    'session'=>array(
                // enable cookie-based authentication
                // 'allowAutoLogin'=>true,
                'timeout'=>10,
            ),
    

    任何有关解决上述问题的帮助都将受到赞赏。需要这些用户的会话开始到期

1 个答案:

答案 0 :(得分:0)

我意识到我必须将false传递给logout函数。 false用于$ destroySession参数,表示只应清除该信息会话。传递true或留空会清除所有会话信息。 CWebUser::login()

要解决会话永不过期的问题,我不得不使用'CDbHttpSession'作为会话类。

"class" => "CDbHttpSession"