2012-06-06 3 views
3

У меня есть веб-приложение на основе Grails, которое использует Spring Security для обработки пользовательских логинов и т. Д. Я набрал немного блока и надеюсь, что более опытный может указать мне в правильное направление решения.Предотвращение обновления сеанса по вызову ajax (grails)

Приложение имеет концепцию сообщений, которые могут быть отправлены от пользователя к пользователю, чтобы обеспечить функцию обмена мгновенными сообщениями. Существует временный вызов Ajax, который присутствует во всей системе, который используется для предупреждения пользователя о любых новых входящих сообщениях.

Моя проблема в том, что, поскольку я реализовал это, каждый раз, когда выполняется вызов ajax, конечно, сеанс пользователей обновляется, поэтому никогда не отключается. Таким образом, ручной выход из системы - это единственный способ выйти из системы, тогда как до истечения срока действия сеанса будет перенаправлен на страницу входа в систему.

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

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

Как всегда любая помощь & комментарии оценены.

+0

Hi Dave, хороший вопрос. Этот вопрос может помочь вам с некоторыми новыми идеями: http: //stackoverflow.com/questions/2691593/approaches-to-timing-out-sessions-on-a-web-app-using-ajax-autorefreshes –

+0

Спасибо за это. Там есть полезная информация. – Dave

+0

добро пожаловать :). Кстати, мое имя Long. На моем языке естественно называть первое имя «последним» :) –

ответ

2

Благодаря Long для того, чтобы указывать мне в другом направлении с его комментарием, я считаю, что у меня теперь намного лучшее, более интуитивно понятное удобное для пользователя решение.

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

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

инструкции можно найти здесь: http://kenbrowning.blogspot.co.uk/2010/04/are-you-still-there.html

Престижность Ken Browning для своей библиотеки.

Смежные вопросы