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