В моем демонстрационном приложении IBM Worklight я реализовал Модуль входа. Он отлично работает, но как я должен поддерживать сеанс? Я хочу выйти из системы моего пользователя, если выполняется действие выхода из системы, но не когда приложение переходит в фоновый режим. В настоящее время, когда мое приложение закрывается кнопкой возврата устройства Android или в любом случае, если приложение переходит в фоновый сеанс, срок действия истекает, и пользователь снова должен войти в систему. Могу ли я добиться этого, поддерживая сеанс на стороне сервера?
Как поддерживать сеанс в модуле входа на стороне сервера IBM Worklight
Ответы (1)
Когда вы закрываете свое приложение, ОС уничтожает компонент WebView, тем самым уничтожая ваш http-контекст, в частности файл cookie jSessionId. В результате в следующий раз, когда вы откроете его, у вас будет новый сеанс, и вам нужно будет повторно аутентифицироваться.
Если вы действительно хотите реализовать функцию «запомнить меня», есть несколько решений. Один из них может быть следующим
- имейте в виду, что «запомнить меня» сильно снижает уровень безопасности
- см. № 1
- создать какой-то токен на стороне сервера и сохранить его на стороне клиента (например, в localStorage, зашифрованном кэше или JSONStore)
- Убедитесь, что этот токен связан с вашим идентификатором пользователя на стороне сервера.
- Отправлять этот токен на сервер при запуске приложения (например, как глобальный заголовок, как параметр вызова процедуры адаптера и т. д.)
- Обнаружьте этот токен в вашем модуле входа в систему и установите аутентифицированный сеанс.
person
Anton
schedule
16.08.2013