Cakephp перенаправление после истечения сеанса - PullRequest
1 голос
/ 27 июля 2010

Я использую CakePHP на одном веб-сайте, и мне было интересно, как я могу автоматически перенаправить после истечения сеанса?

Ответы [ 2 ]

9 голосов
/ 27 июля 2010

Срок действия сеанса эквивалентен выходу пользователя из вашего приложения. Вы можете установить переменную

$this->Auth->logoutRedirect = array('component'=>'YourComponent','action'=>'YourAction');

и это приведет к аналогичным результатам. Вы хотите установить это в beforeFilter () вашего AppController.

Если вы хотите перенаправить пользователя в тот самый момент, когда истекает сеанс, вам нужно будет накатить некоторый пользовательский javascript для достижения этого эффекта. Вы можете начать с определения приблизительного количества секунд до истечения сеанса, передачи его вызову javascript setTimeout () и запуска функции, которая вынуждает пользователя выйти из системы. У этого подхода есть некоторые предостережения, но он бы сработал так же.

0 голосов
/ 20 апреля 2015

используя ваши компоненты ($ компоненты), вы выбираете подробности входа в систему и также выполняете lougout, например страницу перенаправления, когда закрывается сеанс.

public $components = array(
    'Session'=>array(
        'timeout' => 620
    ),'Auth' => array(
        'loginRedirect' => array(
            'controller' => 'pages',
            'action' => 'display',
            'home'
        ),
        'logoutRedirect' => array(
            'controller' => 'users',
            'action' => 'login'
        ),
        'authenticate' => array(
            'Form' => array(
                'passwordHasher' => 'Blowfish'
            )
        )
    )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...