2012-01-09 2 views
0

Я хочу сообщить стороне браузера через javascript о приближающемся тайм-ауте сеанса.Session timeout server push on Torquebox2

Моя текущая реализация периодически проверяет URL-адрес, чтобы узнать, осталось ли X секунд до таймаута сеанса.

Для чисто академических причин масштабирования, что является альтернативой опросу для тайм-аута сеанса в среде Torquebox2?

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

Есть ли простой камень или альтернатива, которая делает для меня большую часть работы?

ответ

1

Веб-разъемы, несомненно, будут лучше, чем опрос.

Существует хороший пример использования веб-сокетов в torquebox здесь https://github.com/torquebox/stomp-chat-demo

В этом примере информация о сеансе установлена ​​и читать как в приложении Синатра и в stomplets (аналог контроллера HTTP, но и для веб-сокетов). Документация для веб-сокетов в TorqueBox показывает, как использовать сеанс как в вашем прикладном контроллере, так и в вашем стопте здесь http://torquebox.org/documentation/current/stomp.html#d0e3602

+0

Спасибо, я видел демо, но меня в основном интересовали производительность и безопасность. Кажется, что в этой демонстрации кто-то сможет отредактировать какой-нибудь javascript и добавить себя в публичный список как кто-то другой. Поэтому безопасность зависит от меня. (возможно, используя метатеги csrf?) – nurettin

+0

Одна из приятных вещей о том, как TorqueBox предоставляет веб-узлы, использует Stomplets, которые вы можете рассматривать как контроллеры в смысле MVC. Когда соединение выполняется или сообщение отправляется из браузера, веб-сеанс включается как часть запроса. Это дает вам возможность обрабатывать аутентификацию на веб-уровне (где это возможно), и ваш стоп-файл может просто проверить сеанс, чтобы проверить, был ли запрос аутентифицирован. – lanceball