Я использую аутентификацию на основе форм и j_security_check в своем приложении j2ee, которое работает на Glassfish 3.1. Проблема в том, что при успешном входе в систему мне нужно обновить некоторые данные, относящиеся к аутентифицированному пользователю. Как сделать операцию после входа в систему после того, как j_security_check завершит ее выполнение? Спасибо.
после операции входа в систему с помощью j_security_check
Ответы (2)
Обходной путь для Servlet 3.0 (или Java EE 6): вызовите HttpServletRequest.login()
из управляемого bean-компонента, и если он не генерирует исключение, выполните операции после входа в систему.
person
palacsint
schedule
12.10.2011
Всегда есть простое решение для всего :) Спасибо!
- person user992140; 14.10.2011
что, если я ограничен только Java EE 5?
- person setzamora; 19.03.2012
Создайте фильтр, сопоставленный с
j_security_check
Вам необходимо перезаписать заголовок
Origin
ответа передchain.doFilter(request, response);
этого фильтра, а также поместить URL-адрес перенаправления сообщения в файл cookieWASReqURL
(или файл cookie Glassfish, который содержит следующий URL-адрес)Ссылка, которую вы выбрали на шаге 2, должна быть сопоставлена с сервлетом, который выполняет материал post-j_security_check, а затем перенаправляет обратно на перезаписанную ссылку с шага 2.
person
Hesham Yassin
schedule
16.08.2018
1. Реально ли ловить запросы к j_security_check в i Filter? Разве JAAS не должен ловить эти запросы и не пропускать их на сервер?
- person Per Lindberg; 10.04.2019
да, но этот фильтр будет перед запуском проверки подлинности. Следовательно, предполагать, что что-либо об учетных данных, таких как добавление данных в сеанс, является неправильным подходом.
- person Hesham Yassin; 11.04.2019