Операция входа в систему с j_security_check

Я использую аутентификацию на основе форм и j_security_check в моем приложении j2ee, которое работает на glassfish 3.1. Проблема в том, что при успешном входе в систему я должен обновить некоторые данные, связанные с аутентифицированным пользователем. Как сделать операцию после входа в систему после того, как j_security_check завершит ее выполнение? Благодарю.

2 ответа

Решение

Обходной путь с Servlet 3.0 (или Java EE 6): вызов HttpServletRequest.login() из управляемого компонента, и если он не выдает исключение, выполните ваши действия после входа в систему.

  1. Создайте фильтр, который сопоставлен с j_security_check

  2. Вам нужно перезаписать Origin заголовок ответа перед chain.doFilter(request, response); этого фильтра, а также разместить URL-адрес перенаправления сообщений в файле cookie WASReqURL (Или печенье стеклянной рыбы, которое содержит следующий URL)

  3. Ссылка, которую вы выбрали на шаге 2, должна быть сопоставлена ​​с сервлетом, который выполняет материал post-j_security_check и после него, чтобы перенаправить обратно на перезаписанную ссылку с шага 2.

Другие вопросы по тегам