Мое приложение использует struts2 + spring + hibernate, и я выполнял некоторую систему авторизации сеанса-перехватчика-входа-авторизации и работает нормально, теперь, когда я пытаюсь реализовать часть с истекшим сроком сеанса, у меня возникают проблемы: сначала перехватчик сеансапроверяет каждый запрос, чтобы видеть, находится ли пользователь в сеансе, если нет, то он перенаправляется на страницу входа, в противном случае он пропускает запрошенное действие.
, поэтому, если пользователь только что началприложение открывает страницу входа в систему
, если время сеанса истекло из-за свойства сеанса timeout в web.xml, а затем перенаправляется на страницу входа
Теперь у меня есть запрос на отображение сообщения об истечении сеанса.Поэтому я решил использовать область приложения и установить некоторые переменные, такие как UserLoggedIn, и теперь вернуться к перехватчику. Я могу проверить, находится ли пользователь в сеансе, и, если его значение NULL, проверить область приложения для переменной UserLoggedIn, поэтому, если он найден, сессия истекла (sessionExpired.jsp) в противном случае login.jsp.проблема заключается в том, что всякий раз, когда я закрываю браузер и снова открываю его, область приложения все еще там и переменная UserLoggedIn с ним, так что, скажем, я хочу запустить браузер и мое приложение, чтобы перехватчик сеанса, который он запустил, не нашел пользователя насеанс GReat !!но он обнаружил переменную UserLoggedIn, которая говорит о том, что это не новое начало, поэтому всплывающее сообщение сеанса истекло.Я знаю, что это немного сбивает с толку. Я не уверен, что это правильный способ сделать этот сеанс истекшим;Это моя первая попытка.
Буду очень признателен за любые советы, альтернативные методы и т. д.
pd: я знаю, что существуют более эффективные подходы к защите вашего приложения, такие как весенняя защита, которую я посвятил 2 дня, ноне удалось, и из-за временного фактора я не могу продолжать пытаться это сделать