2013-07-22 2 views
0

Всякий раз, когда я запускаю свое веб-приложение, и я перехожу на страницу по умолчанию, я получаю пользователя ROLE_ANONYMOUS внутри моих полномочий. Однако, когда я простаиваю, сеанс отключается, из-за чего запускается мой invalid-session-url. В любом случае, чтобы исключить пользователей, не прошедших проверку подлинности, из таймаута сеанса?Весенняя безопасность: сеанс недействителен, когда пользователь не аутентифицирован

EDIT: Самый простой способ, который я нашел, - установить InvalidSessionStrategy. Проблема в том, что я не знаю, как это сделать. Мне не нужно создавать собственную реализацию SessionManagementFilter. Я хочу контролировать, как приложение будет обрабатывать invalid-session-url. Может кто-нибудь мне помочь?

ответ

0

Наличие сеанса является хорошей практикой даже для пользователей, не прошедших проверку подлинности. Внедрите свой неверный код сеанса таким образом, чтобы он проверял подлинность перед перенаправлением. Если пользователь не прошел проверку подлинности, переадресуйте его на страницу простоя сеанса.

+0

Всякий раз, когда приложение вызывает недействительный код сеанса, я теряю все полномочия, которые у меня были раньше, и все, что я получаю, это ROLE_ANONYMOUS. – mpmp

+0

@MiguelPortugal Это то, что должно случиться. Если бы пользователь не был аутентифицирован, у него не было бы никаких полномочий, верно? – EJP

+0

Да, я знаю, но если когда-либо я был аутентифицирован - у меня была, например, роль ROLE_USER - она ​​исчезает, когда она достигает недействительного-сессии-url. Поскольку сеанс уже был аннулирован , все роли, которые я ранее скрывал, потому что, по-видимому, Spring очищает все. – mpmp

Смежные вопросы