Переопределить тайм-аут сеанса во время выполнения в калитке

Как я могу переопределить интервал времени ожидания сеанса во время выполнения. В основном во время входа в систему пользователю предоставляется возможность, если он хочет войти в систему в течение определенных часов, скажем (7).

Итак, что я сделал после аутентификации пользователя, установил максимальный inactiveInterval в сеансе.

Запрос WebRequest = (WebRequest) WebRequestCycle.get().getRequest(); request.getHttpServletRequest().getSession().setMaxInactiveInterval(HOURS * 60);

но это, похоже, не работает. Пользователь все еще вошел в систему после этого времени.

Спасибо!

Пратик


person Pratik Garg    schedule 04.06.2010    source источник


Ответы (2)


Думаю, название метода говорило бы само за себя. setMaxInactiveInterval() наверняка будет ждать некоторое время после последнего ответа, прежде чем истечет срок действия сеанса, поэтому ваш сеанс будет поддерживаться в течение 7 часов после последнего ответа?

Что касается ответа, вы, вероятно, просматриваете что-то либо на странице, либо в сеансе, которое проверяет заранее определенное время, чтобы увидеть, не превышает ли оно заранее определенный период.

Надеюсь это поможет.

person andrew    schedule 23.09.2010

Метод занимает секунды вместо минут, но это не объясняет явления.

Может быть, вы можете проверить идентификатор сеанса в файле cookie в вашем браузере, если он изменится? У меня была ситуация, когда обработка сеанса была настолько «надежной», что был создан новый сеанс, и если страницы браузера не были уведомлены о завершении сеанса, он просто создал бы новый. Теперь я признаю, что это было еще во времена моего Perl, и что это крайне маловероятно, если контейнер управляет сессиями.

person Peter Tillemans    schedule 09.06.2010