Hi,
Define a method in your service that returns the last time the user
interacted with the server (in the code below it is getLastRequest()).
In your main screen define these variables:
protected static final long DEFAULT_TIMEOUT = 20 * 60 * 1000l; // 20 minutes
protected static final long ABSOLUTE_TIMEOUT = 12 * 60 * 60 * 1000l; // 12
hours
private long TIMEOUT = DEFAULT_TIMEOUT;
After displaying main screen, run something like this:
final long loginTime = System.currentTimeMillis();
Scheduler.get().scheduleFixedPeriod(new RepeatingCommand() {
@Override
public boolean execute() {
long dif = System.currentTimeMillis() - MYSERVICE.getLastRequest();
long loginDif = System.currentTimeMillis() - loginTime;
if (dif > TIMEOUT || loginDif > ABSOLUTE_TIMEOUT) {
MYSERVICE.getService().logout(user.getId(), new
AsyncCallback<String[]>() {
@Override
public void onFailure(Throwable caught) {
// TODO handle error
}
@Override
public void onSuccess(String[] result) {
MYSERVICE.getController().handleEvent(new
AppEvent(AppEvents.Logout));
if (!result[0].equals(Responses.SUCCESS)) {
// TODO display login screen
}
}
});
return false;
}
return true; //as long as it returns true the execute is repeated
after XX milliseconds
}
}, 10000);
Hope this helps,
Rodolfo M. Raya
On Thu, Dec 28, 2017 at 1:34 PM Devaraj Rathinasamy <[email protected]>
wrote:
> We need to auto log out the user after a max user inactivity time (say 5
> mins) in our GWT MVP with history management application. Appreciate any
> inputs on how to proceed implementation for this.
>
> We have session timeout at service level. so if any interaction happens
> with the server, server session will be validated and inactivated if
> expired. But in above case, user should be auto logged out after max
> inactivity time without any user interaction.
>
> --
> You received this message because you are subscribed to the Google Groups
> "GWT Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/google-web-toolkit.
> For more options, visit https://groups.google.com/d/optout.
>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.