Как поддерживать сеанс в модуле входа на стороне сервера IBM Worklight

В моем демонстрационном приложении IBM Worklight я реализовал Модуль входа. Он отлично работает, но как я должен поддерживать сеанс? Я хочу выйти из системы моего пользователя, если выполняется действие выхода из системы, но не когда приложение переходит в фоновый режим. В настоящее время, когда мое приложение закрывается кнопкой возврата устройства Android или в любом случае, если приложение переходит в фоновый сеанс, срок действия истекает, и пользователь снова должен войти в систему. Могу ли я добиться этого, поддерживая сеанс на стороне сервера?


person Steve    schedule 16.08.2013    source источник


Ответы (1)


Когда вы закрываете свое приложение, ОС уничтожает компонент WebView, тем самым уничтожая ваш http-контекст, в частности файл cookie jSessionId. В результате в следующий раз, когда вы откроете его, у вас будет новый сеанс, и вам нужно будет повторно аутентифицироваться.

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

  1. имейте в виду, что «запомнить меня» сильно снижает уровень безопасности
  2. см. № 1
  3. создать какой-то токен на стороне сервера и сохранить его на стороне клиента (например, в localStorage, зашифрованном кэше или JSONStore)
  4. Убедитесь, что этот токен связан с вашим идентификатором пользователя на стороне сервера.
  5. Отправлять этот токен на сервер при запуске приложения (например, как глобальный заголовок, как параметр вызова процедуры адаптера и т. д.)
  6. Обнаружьте этот токен в вашем модуле входа в систему и установите аутентифицированный сеанс.
person Anton    schedule 16.08.2013