Выход из системы аутентификации JSF

Я знаю, что на этот вопрос, кажется, ответили многие другие потоки, но я не могу найти решение с JSF 2.0 с Glassfish 3.0.1 для выхода пользователя из системы. Я пробовал либо с аутентификацией BASIC, либо с аутентификацией FORM, используя j_security_check в качестве действия. Но для метода выхода из системы я не могу найти ни одного из них, который работает.

Я попытался использовать сервлет с session.invalidate(), я использовал управляемый bean-компонент, чтобы сделать сеанс недействительным, но ничего не произошло. Я также безуспешно пытался использовать j_security_logout.

Кто-нибудь знает, что я могу сделать для выхода пользователя?


person markov00    schedule 24.06.2011    source источник


Ответы (1)


Вызов session.invalidate() должен работать.

Вероятно, ваша проблема заключается в том, что вы использовали кнопку «Назад» в браузере для просмотра страницы с ограниченным доступом, чтобы проверить, действительно ли выход из системы прошел успешно, но эта страница фактически обслуживалась из кеша браузера, а не напрямую с веб-сервера по реальному протоколу HTTP. связь.

В этом случае вам необходимо указать веб-браузеру не кэшировать запрещенные страницы. Таким образом, браузер всегда будет запрашивать страницу прямо с веб-сервера. Вы можете сделать это с помощью фильтра. Вы можете найти пример в этом вопросе: Запретить пользователю видеть ранее посещал защищенную страницу после выхода из системы

person BalusC    schedule 24.06.2011