2012-06-21 3 views
1

У нас возникли проблемы с реализацией прекрасного механизма сеанса в JSP. Одно из наших требований - разрешить только один сеанс на пользователя и не разрешать открывать другое, которое отменяет предыдущий. Это означает, что нам нужна очень надежная система сеанса после потери сеанса означает ждать тайм-аут сеанса ... У нас есть проблемы со всеми механизм сессий, предоставленной сервлета:Надежный механизм сессий для JSP

  • Url Переписывая: Все отлично работает, но ... Это позволяет нам делать кеширование (mod_pagespeed не может объединять файлы, мы используем CDN ...)
  • Cookies: Конечно, у нас есть некоторые клиенты, которые блокируют файлы cookie ...
  • https Id: Not reliable , если соединение будет сброшено, сеанс будет потерян. Некоторые браузер повторно инициализируют подключение автоматически. Если вы используете веб-сайт при перемещении (например, со своего мобильного телефона на улице), ваше соединение будет меняться в зависимости от места.

Идеальное решение заключается в использовании Rewrite + Cookie и дезактивации перезаписи для ресурсов. Зная, что мы должны использовать тег c: url, так как наше приложение будет установлено в нескольких доменах.

Любая идея о идеальном сеансовом механизме?

ответ

0

Стандартные Cookies, URL Rewriting и SSL Session ID являются наилучшими стандартными способами обработки сеанса.

Да, вы можете определенно иметь свой собственный способ обработки сессий, если вы можете разобрать Unique id from a given request. Уникальный идентификатор вы можете вывести только из одного из следующих параметров запроса:

  • URL-адрес URL: URL-адрес переписывания. Стандартный лучший способ.
  • Заголовки: невозможно с этим. Клиенты не могут отправлять пользовательские заголовки
  • Адрес удаленной розетки: что еще раз идеально, потому что прокси между ними.
  • Cookies: Стандартный лучший способ.
  • Скрытое поле формы: это будет работать только для запросов POST.
+0

Хорошо, вывод: нет нет волшебного трюка ... – tibo

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