Сеанс аутентификации CakePHP против cookie не обновляется - PullRequest
2 голосов
/ 23 сентября 2010

У меня есть приложение, управляемое ACL + auth. Все работает нормально, но я обнаружил, что пользователь вышел из системы через случайный промежуток времени. Проведя некоторые исследования, я обнаружил, что один раз набор файлов cookie не меняет дату окончания срока действия при обновлении страницы. Так это выглядит так:

Я установил время истечения вручную до 1 минуты (уровень безопасности низкий (с некоторыми изменениями в тортах / библиотеках) и время ожидания 60)

19: 00: 00 - пользователь загружает страницу - файл cookie настроен

19: 00: 05 - пользователь входит в систему (cookie не меняет дату окончания срока действия)

19: 00: 30 - обновление страницы (cookie не меняет дату окончания срока действия)

19: 00: 55 - обновление страницы (cookie не меняет дату окончания срока действия)

19: 01: 05 - обновление страницы - пользователь вышел из системы ... (срок действия файла cookie истек через 1 минуту)

Таким образом, проблема в том, что пользователь выходит из системы через 60 секунд после установки файла cookie вместо 60 секунд бездействия. Работает ли CakePHP с файлами cookie автоматически? Или я должен сам позаботиться об этом? Все, что я сделал, это установил имя файла cookie в config / core.php и установил аутентификацию. У меня нет функции обработки файлов cookie, но файл cookie создается сам - правильно, просто не обновляется

1 Ответ

1 голос
/ 25 октября 2011

У меня была та же проблема, и я ответил ей следующим кодом, который вызывается при каждой загрузке страницы и при вызове ajax.

    if(isset($_COOKIE[Configure::read("Session.cookie")])){
            $session_delay = Configure::read("Session.timeout") * (Configure::read("Security.level") == "low" ? 1800 : 100);
            setcookie(Configure::read("Session.cookie"), $_COOKIE[Configure::read("Session.cookie")], mktime() + $session_delay, "/");
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...