2014-12-18 4 views
2

Хотел бы узнать, есть ли способ найти, когда истечет срок вашей сессии при использовании класса Ext.data.Session, поскольку Ext.data.Session не предоставляет никакого события. В соответствии с определением класса он используется для хранения информации о сеансе с загружаемыми данными сервера.Extjs session manageemt

Что я хочу делать в своем приложении - это управление сеансом входа в систему. То есть, когда пользователь входит в систему, он запускает сеанс, а когда сеанс истекает, я предлагаю пользователю истечь срок действия вашего сеанса. Любое событие, выполняемое в приложении, сбрасывает время таймаута сеанса.

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

Дайте мне знать, если я задаю вопрос в правильном направлении, иначе будет перефразироваться соответствующим образом.

+0

У меня есть идея проверить, работает ли он ... если Ext.data.Session не предоставляет никакого события .. затем напишите щелчок мыши или любое событие операции пользователя на контейнере верхнего уровня и сделайте сброс таймера. –

+0

Я попытался использовать Ext.util.Observable.capture (myObj, function (evname) {console.log (evname, arguments);}) при инициализации порта моего порта, хотя мог бы сбросить таймер для любой активности в view-port. – Ameya

ответ

1

Ну, Ext.data.Session и пользовательский вход. Сессия состоит в том, что вам нужны две совершенно разные вещи.

Ext.data.Session управляет данными, хранящимися в разных записях, таким образом, чтобы обеспечить согласованность, уникальность данных и сохранение данных на сервере.

Таким образом, Ext.data.Session не может быть использован для вашей цели.

+0

Как управлять сеансом входа в систему и иметь функцию тайм-аута для этого? – Ameya

+0

В двух словах: по окончании сеанса сервер отправляет ответ «session expired» обратно на Ext. Ext оценивает причину сбоя и перенаправляет пользователя на страницу входа. – Saki

+0

Спасибо, получил концепцию. Но система, которую я использую, не проверяет ключ сеанса пользователя с каждым запросом. Поэтому для моего управления клиентом это ответственность. Есть ли решения, которые я могу использовать в этом случае. Я также думал о том, чтобы использовать наблюдателя в своем окне просмотра, но не ведет себя так, как предполагалось. Поэтому нужно иметь какой-то механизм для такой системы. – Ameya