Возобновление сеанса с вызовом AJAX - PullRequest
1 голос
/ 24 октября 2009

Мое приложение имеет время ожидания сеанса через 30 минут. Если у пользователя активирована функция «постоянный вход», то при последующем HTTP-запросе сервер считывает cookie-файл «perm session» и восстанавливает сеанс.

Однако, если пользователь не перезагружается или не переходит на другую страницу после истечения срока его сеанса, а нажимает кнопку, которая получает данные через AJAX, сеанс не возобновляется; в DIV, куда данные должны были загружаться, вместо этого появляется окно входа в систему.

Это приводит меня к предположению, что вызовы AJAX не несут информацию cookie. Я прав или я пропустил что-то еще?

Обновление:

бэкэнд: symfony 1.2 (фреймворк PHP), внешний интерфейс: прототип

Update2: это была ошибка в приложении, а не проблема с файлами cookie

Ответы [ 2 ]

2 голосов
/ 24 октября 2009

Звучит так, как будто вы восстанавливаете сеанс, но не предоставляете новый файл cookie авторизации. Возможно, вы захотите попробовать технику, о которой я писал в моем блоге, о наличии таймера на стороне клиента, который будет запрашивать у пользователя незадолго до истечения времени сеанса и, когда он нажимает кнопку ОК, чтобы обновить его, сделает запрос, который будет служат для поддержки сеанса и файла cookie аутентификации. Вы можете найти больше информации на http://farm -fresh-code.blogspt.com . Статья называется Завершение сеанса на стороне клиента .

2 голосов
/ 24 октября 2009

В вызове XMLHttpRequest должна содержаться информация о файлах cookie, как обычно. Вы можете столкнуться с ошибкой. Вы гарантируете, что звонок поступил из того же домена?

Возможно, срок действия ваших файлов cookie истекает? Дополнительная информация может помочь ..:)

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