таймаут весенней сессии безопасности - PullRequest
5 голосов
/ 24 января 2012

Я использую Spring Security 3 в своем веб-приложении JSF2.

У меня есть правило безопасности для обеспечения тайм-аута сеанса:

<session-management invalid-session-url="/faces/paginas/autenticacion/login.xhtml?error=1" />

Чтобы после окончания сеанса и перехода пользователя по любой ссылке он был перенаправлен на страницу входа. На этой странице я проверяю параметры ошибки и показываю пользователю сообщение о том, что сеанс истек.

Но у меня есть 2 проблемы:

(1) Когда я запускаю приложение в первый раз (оно пытается показать домашнюю страницу), я перенаправляюсь на страницу входа, говоря, что сеанс истек. Я думаю, что это может произойти, потому что при первом запуске приложения сеанс является новым, и Spring Security, возможно, «думает», что он истек (не различает новый сеанс и время ожидания).

(2) Если сеанс истек для анонимных пользователей (еще не аутентифицирован), я также перенаправлен на тайм-аут страницы входа. Я не хочу, чтобы такое поведение было для пользователей, не прошедших проверку подлинности, я просто хочу проверить тайм-ауты для пользователей, прошедших проверку.

Как я могу решить обе эти проблемы?

Заранее спасибо.

1 Ответ

6 голосов
/ 24 января 2012

Вы хотите использовать свойство expired-session-url для сеансов с истекшим сроком действия, а не invalid-session-url. Они для двух разных вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...