Обработка сеанса — Flex BlazeDS Java

#apache-flex #blazeds

#apache-гибкий #blazeds

Вопрос:

Я столкнулся с проблемой с таймаутом сеанса. Скажем, например, пользователь входит в приложение и ждет 30 минут (время ожидания сеанса), а затем пытается получить услугу через удаленный объект.В идеале, поскольку сеанс имеет тайм-аут, пользователь не должен иметь возможности обращаться к удаленному объекту, но это происходит наоборот.

web.xml запись: 30 Кроме того, через 30 минут я получаю доступ к журналу, в котором просмотр признан недействительным,

[BlazeDS] [ОТЛАДКА] Гибкая сессия с идентификатором ‘NptXY……..5559488’ для клиентского соединения на основе Http было признано недействительным.

Но все же, если пользователь пытается вызвать новую службу, происходит удаленный вызов службы. Я хочу, чтобы он выдавал какое-либо исключение при истечении срока действия сеанса, где я могу перехватить его и показать пользователю как «Срок действия сеанса истек !!!»

Пожалуйста, дайте мне знать, если я что-то упустил. Пожалуйста, это действительно срочно.

Примечание: Сервер: Weblogic 9.1

Также обратите внимание, что я не использую Spring framework. Это всего лишь базовые вызовы remoting-config / Services-config.

Спасибо.

Комментарии:

1. Защищена ли удаленная служба проверкой того, что у пользователя есть действительный сеанс, в котором он вошел в систему?

Ответ №1:

Поскольку приложение Flex работает на стороне клиента, и сеанс может быть изменен иначе, чем приложение Flex, например, вызов AJAX из webapp для текущего пользователя, в любом случае вам нужно проверить время ожидания сеанса на сервере.

Время ожидания сеанса может быть вычислено методом, предоставленным в интерфейсе API HttpSession

Одним из способов проверки этого для приложения Flex является

В существующем удаленном методе проверьте время ожидания сеанса и верните null или любое сообщение в приложение Flex и покажите пользователю предупреждение о том, что сеанс истекает.

Другие способы

  1. Создайте метод для проверки времени ожидания сеанса и сначала вызовите его.
  2. Отправляйте сообщение от сервера о тайм-ауте сеанса в приложение Flex.

надеется, что это поможет