Я использую Spring Security 3 в моем веб-приложении JSF2.
У меня есть правило безопасности для предоставления тайм-аутов сеанса:
<session-management invalid-session-url="/faces/paginas/autenticacion/login.xhtml?error=1" />
Таким образом, когда время сеанса истекло и пользователь щелкает любую ссылку, он перенаправляется на страницу входа в систему. На этой странице я проверяю параметр ошибки и показываю пользователю сообщение о том, что сеанс истек.
Но у меня две проблемы:
(1) Когда я запускаю приложение в первый раз (оно пытается показать домашнюю страницу), я перенаправляюсь на страницу входа, говоря, что сеанс истек. Я думаю, что это может происходить из-за того, что в первый раз, когда вы запускаете приложение, сеанс новый, и Spring Security, возможно, «думает», что он истек (не различает между новым сеансом и тайм-аутом).
(2) Если истек срок сеанса для анонимных пользователей (еще не прошедших аутентификацию), я также перенаправляюсь на тайм-аут страницы входа. Я не хочу такого поведения для пользователей, не прошедших аутентификацию, я просто хочу проверить таймауты для аутентифицированных пользователей.
Как я могу решить обе эти проблемы?
Заранее благодарю.