Я работаю над приложением GWT-ext.
В этом приложении я управлял сеансом на стороне клиента. Для этого я пишу ниже код:
Для управления сеансом:
import com.google.gwt.user.client.Timer;
public class ClientTimers {
private static final Timer SESSION_MAY_HAVE_EXPIRED_TIMER = new Timer() {
@Override
public void run() {
// Warn the user, that the session may have expired.
// You could then show a login dialog, etc...
}
};
public static void renewSessionTimer() {
// First cancel the previous timer
SESSION_MAY_HAVE_EXPIRED_TIMER.cancel();
// Schedule again in 5 minutes (maybe make that configurable?)
// Actually, let's subtract 10 seconds from that, because our timer
// won't be synchronized perfectly with the server's timer.
SESSION_MAY_HAVE_EXPIRED_TIMER.schedule(5 * 60 * 1000 - 10000);
}
}
Чтобы получить активность пользователя:
Ext.get("pagePanel").addListener("click", new EventCallback() {
@Override
public void execute(EventObject e) {
//MessageBox.alert("On Mouse Click");
});
Ext.get("pagePanel").addListener("keydown", new EventCallback() {
@Override
public void execute(EventObject e) { //
//MessageBox.alert("On Key Press Click");
}
});
Этот код работает нормально, но мои проблемы:
Этот код будет автоматически выходить из системы по мере истечения времени ожидания. Для моего кода я хочу, чтобы при щелчке или нажатии клавиши он выполнял выход из системы. Пример таков: если пользователь вошел в систему и время выхода из системы составляет 5 минут. Пользователь не выполняет никаких действий на экране, чем сейчас, согласно приведенному выше коду, он автоматически выйдет из системы по завершении 5 минут.
Теперь мое требование состоит в том, чтобы, если пользователь вошел в систему, и он ничего не делал в течение 5 минут. Он не должен делать никаких выходов из системы автоматически. Вместо выхода из системы по завершении 5 минут, если пользователь нажимает или нажимает клавишу вниз через 6 минут он должен выполнить процесс выхода из системы.
В основном процесс выхода из системы, когда таймер превышает указанное время, должен выполняться для пользовательской активности, а не автоматически.