Я установил Tomcat, чтобы избавиться от сеансов после 15 минут бездействия. Что-то вроде этогоКак сообщить пользователю, что срок его сеанса истек?
<session-config>
<session-timeout>15</session-timeout>
</session-config>
Всякий раз, когда пользователь получает доступ к запретной страницы (тот, который требует, чтобы пользователь вошел в систему) проверить сессию, чтобы увидеть, если процесс Логин завершен. Если он имеет доступ, то доступ предоставляется, если он не был тогда, пользователь перенаправляется на страницу входа в систему, где ему/ей предлагается действительный идентификатор и пароль. Если сеанс истекает, пользователь должен снова войти в систему. И это прекрасно, но я хотел бы сообщить пользователю, что он/она должен войти в систему снова, потому что сессия закончилась.
Как мне это сделать? Я нашел интерфейс HttpSessionListener и подумал, что это может помочь, но метод sessionDestroyed вызывается непосредственно перед сеансом, который недействителен, поэтому установка параметра не является хорошей, как и ожидалось.
Это действительно сложно ** установить ** этот параметр/cookie, когда сессия истекла. Как бы вы определили *, когда *, чтобы сделать это? В течение сеанса нет средств для «HttpServletRequest». Последующий новый запрос/сеанс не знает предыдущего. – BalusC
Поместите файл cookie в браузер пользователя, когда пользователь входит в систему и токен в HttpSession. Если файл cookie существует, а сеанс или токен нет, то пользователь был зарегистрирован в последнее время, и их сеанс был отключен. –
Да .. Именно так, как я ответил. Но вы сказали буквально * Когда вы перенаправляете пользователя в форму для входа *. Как бы Вы это сделали? – BalusC