2017-02-10 1 views
0

Я использую расширенный шаблон, и я могу успешно завершить сеанс за 15 минут, но это не зависит от активности, поэтому даже пользователь, активный на веб-сайте после входа в систему, будет выходить из системы через 15 минут.Тайм-аут сеанса, если в течение 15 минут активность не работает?

Я знаю, что я должен поставить триггер для увеличения тайм-аута в SiteController, но не знаю, как его реализовать.

До сих пор здесь мой код

backend\config\main.php

'user' => [ 
      'identityClass' => 'common\models\User', 
      'enableAutoLogin' => false, 
      'authTimeout' => 900 
     ], 
     'session' => [ 
      'class' => 'yii\web\Session', 
      'cookieparams' => ['httponly' => true, 'lifetime' => 900], 
      'timeout' => 900, 
      'useCookies' => true, 
     ], 

frontend\config\main.php

'user' => [ 
      'identityClass' => 'common\models\UserCustomer', 
      'enableAutoLogin' => false, 
      //'enableSession' => true, 
       'authTimeout' => 900, 
     ], 
     'session' => [ 
      'class' => 'yii\web\Session', 
      'cookieparams' => ['httponly' => true, 'lifetime' => 900], 
      'timeout' => 900, 
      'useCookies' => true, 
     ], 

Что я должен делать? поэтому я могу реализовать тайм-аут сеанса, если нет активности за 15 минут.

Заранее благодарен.

ответ

0

Я считаю, что ваша проблема другая, и есть лучшее решение, чем включение триггера в ваш контроллер. Скорее всего, вы не устанавливаете продолжительность для http://www.yiiframework.com/doc-2.0/yii-web-user.html#login()-detail. Найдите строку, в которую вы входите в систему. Возможно, что-то вроде:

Yii::$app->user->login($this->getUser()); 

изменение

Yii::$app->user->login($this->getUser(), 900); 

Есть также несколько причин, это может не работать, но это наиболее очевидно.

+0

уже реализуют триггер на каждом контроллере, возможно, ваше решение для следующего обновления. В любом случае, спасибо. –

Смежные вопросы