2013-08-16 2 views
0

Я работаю над проектом мобильного приложения на основе ярлыка IBM. Я использую проверку подлинности на основе одноэтапной формы на основе Worklight для входа в модуль для проверки пользователя и создания сеанса пользователя на сервере. Теперь необходимо сохранить сеанс пользователя активным до тех пор, пока пользователь не выйдет из приложения независимо от того, выполняется ли приложение в фоновом режиме или переднем плане.Неограниченное время сеанса пользователя на сервере Worklight

Я прочитал документацию по документообороту для настройки сервера, но указанный сеанс пользователя может быть активным, установив интервал между биением сердца и время ожидания сеанса сервера. Это нормально работает, когда приложение запускается на переднем плане, но когда приложение переходит на фоновые остановки сердца, а сеанс пользователя становится недействительным после указанного времени сеанса сервера. Так что есть способ сделать тайм-аут сеанса сервера неограниченным. Любая помощь будет оценена.

Я использую IBM Worklight 6.0 и WebSpere Application Server V8.5 и приложение для создания приложений для iPad/iphone.

ответ

0

Отсюда: Optimization and tuning of Worklight Server, вы должны иметь возможность изменить свойство serverSessionTimeout, чтобы приблизиться к поведению, которое вы хотите.

Убедитесь, что вы действительно хотите сделать это, команда Worklight имеет хорошее объяснение о том, почему сердцебиение прекращает передачу, когда приложение работает в фоновом режиме:

«Например, предположит, что каждую минуту 1000 пользователей начать сеанс против сервера. Даже если они выходят из приложения через 3 минуты, их сеансы остаются активными на сервере в течение 10 минут, оставляя 10 x 1000 = 10 000 активных сеансов ».

+0

Orlando Rincón благодарит вас за беспокойство, можете ли вы рассказать мне, какое будет наилучшее значение для heartBeat и ServerSessionTimeout, чтобы достичь этого? Я действительно хочу сделать это как facebook, gmail и т. Д. –

+0

Ну, я думаю, это зависит от вас. Максимальное значение serverSessionTimeout, которое вы можете установить, составляет 35791394 (это значение «минут»), что эквивалентно 68 + годам. Конечно, это огромно, и ваш сервер будет исчерпывать ресурсы, очень быстро обрабатывая все эти неактивные сеансы. Если вы хотите пойти этим путем, я бы рекомендовал значение за одну неделю (604800). Для heartbeat это просто должно быть ниже, чем serverSessionTimeout (просто напоминание о том, что сердцебиение выражается в секундах). –

+0

Тем не менее, я думаю, что лучшим вариантом было бы слушать [событие setOnAppEnteringForeground] (http://pic.dhe.ibm.com/infocenter/wrklight/v6r0m0/topic/com.ibm.worklight.help.doc/apiref/ r_wl_app_backgroundhandler_setOnAppEnteringForeground.html? resultof =% 22% 66% 6f% 72% 65% 67% 72% 6f% 75% 6e% 64% 22% 20) и использовать [JSONStore] (http://public.dhe.ibm.com) /software/mobile-solutions/worklight/docs/v600/05_08_JSONStore_-_The_client_side_JSON_based_database_overview.pdf), чтобы сохранить учетные данные для входа (если это возможно), чтобы заставить повторный вход в приложение каждый раз, когда он отображается сверху. –

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