Что касается программной безопасности Servlet 3.0, когда время сеанса истекает, нет возможности вызвать HttpServletRequest#logout().
Остается ли пользователь зарегистрированным в JAAS?
Если да, то как лучше всего обрабатывать выход из JAAS после истечения времени сеанса?
Как контейнер обрабатывает последующий запрос пользователя на повторный вход в систему и создание нового сеанса после тайм-аута сеанса?
Кроме того, каковы плюсы и минусы использования следующих трех подходов для обработки времени ожидания сеанса при использовании программной безопасности Servlet 3.0:
HttpSessionListener#sessionDestroyed()- Заставить
@ManagedBean @SessionScoped LoginManagerреализоватьHttpSessionBindingListenerи сделать что-то вvalueUnbound. - Аннотируйте метод в LoginManager с помощью @PreDestroy.
Любые другие предлагаемые подходы/рекомендации по передовой практике, безусловно, будут оценены.