CakePHP сеанс/авторизация прерывается

У меня есть отчеты и жалобы от моего пользователя, что они будут использовать экран и сразу же вернуться к экрану входа в систему по следующему запросу. Это происходит не всегда, а случайно.

Я использую CakePHP и компонент Auth, которые, похоже, работают хорошо, кроме этой проблемы.

У меня появилась некоторая обратная связь на форумах Cake, когда это иногда вызывает запрос 404, который сбрасывает сеанс, т.е. если у вас сломанная ссылка на изображение или отсутствующий файл favicon. У меня есть firebug open и никаких неудачных запросов нет, поэтому я решил это как возможность, но пользователь периодически выходит из системы. Это похоже на браузеры и операционные системы.

Ниже приведено краткое описание моих настроек конфигурации: Security.level = высокий Session.timeout = 1200//это означает, что мой фактический тайм-аут должен составлять 12 000 секунд Session.save = php

Я действительно в недоумении относительно того, что вызывает эту проблему...

Ответы

Ответ 1

У меня также была проблема с высоким уровнем безопасности. Когда вы установите его на высокий уровень, он восстанавливает сеанс по каждому запросу: "Идентификаторы сеанса CakePHP также восстанавливаются между запросами, если" Security.level "установлен на" высокий "."

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

Ответ 2

У меня была аналогичная проблема, я обнаружил, что это проверка user_agent в файле core.php, установите для этого значение false!

Что происходит, после обновления страницы изменился идентификатор сеанса, и я вышел из системы, но в объекте Session возникла ошибка, указывающая на попытку захвата сеанса!!! пр ($ this- > Session);

Установите значение false в файле core.php! Configure:: write ('Session.checkAgent', false);

Ответ 3

Проверьте Auth->allow или ->deny, потому что может быть, что ваш пользователь обращается к ограниченной части или действию вашего контроллера (ов).

Во-вторых, проверьте свой конкретный Sanitize CakePHP, потому что параметры "высокой безопасности" часто могут вызвать проблемы.

404 страницы reset сеанс? Я никогда не слышал об этом.

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

Например: UserOne пытается получить доступ к вашему веб-сайту, его имя пользователя содержит некоторые строки, которые вызывают неправильную интерпретацию имени пользователя. Имя можно найти в базе данных, но аутентификация не может связать ее с запросом.

Ошибки, подобные этому, всегда скрываются внутри вашего кода, где вы не ожидали, что они будут.

Ответ 4

Security.level на высокой скорости сделает это. установите его в medium в core.php