Сеанс авторизации Cakephp не работает в Chrome - PullRequest
2 голосов
/ 03 февраля 2012

У меня проблема с функцией входа в cakephp.Когда я пытаюсь войти в систему под Chrome, мое имя пользователя / пароль принимаются, но сеанс хранится неправильно.Я провел некоторую отладку / поиск и обнаружил, что корень проблемы (по крайней мере, я так думаю) заключается в том, что идентификатор сессии не сохраняется в файлах cookie chrome.Когда я использую firefox, логин работает как положено, и при просмотре куки-файлов в файле cookie отображается идентификатор сессии под именем «CAKEPHP».Однако, когда я просматриваю файлы cookie chrome после входа в систему / доступа к странице, там нет файла cookie, содержащего идентификатор сеанса.В результате идентификатор сессии, похоже, меняется каждый раз, когда я загружаю страницу.Я часами гуглял и искал решение для этого без удачи.Я нашел что-то подобное в http://www.pixelastic.com/blog/273:losing-session-request-cakephp-chrome,, но использование этого решения не помогло мне.Я не знаю, было ли это предназначено для более старой версии CakePHP или нет.Я использую версию 2.0.

Я опубликую код входа, который я использую, но я взял его непосредственно из учебника, поэтому я не думаю, что это проблема (особенно потому, что он работает вFF):

public function login() {
    Security::setHash('sha1');
    if ($this->Auth->login()) {
        $this->Session->setFlash(__('Welcome'));
        $this->redirect(array('action' => 'index'));
    } else {
        $this->Session->setFlash(__('Invalid username or password, try again'));
    }
}

1 Ответ

2 голосов
/ 04 февраля 2012

Оказалось, проблема с моей настройкой.В случае, если у кого-то возникла проблема, подобная этой: я запустил сервер на виртуальной машине, и проблема, похоже, связана с тем, что хост-компьютер переходит в режим ожидания / энергосбережение во время работы виртуальной машины.Когда хост-компьютер просыпается, проблема с файлами cookie Chrome начинает возникать.Перезагрузка виртуальной машины устранила проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...