Prelogin фильтр перед j_security_check - PullRequest
1 голос
/ 30 декабря 2011

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

Как я могу перехватить запрос до того, как будет выполнен вход в систему j_security_check, а также перенаправить поток в j_security_check после того, как это условие окажется ложным.

Обратите внимание, что я не хочу, чтобы проверка на стороне клиента.

Это то, что я пытался сделать, но безуспешно:

Создал файл LoginFilter.java и мой webapp web.xml выглядел так:

<filter>
  <filter-name>LoginFilter</filter-name>
  <filter-class>com.xxx.filter.LoginFilter</filter-class>
</filter>

<filter-mapping>
  <filter-name>LoginFilter</filter-name>
  <url-pattern>j_security_check</url-pattern>
</filter-mapping>

но этот фильтр вообще не вызывается.

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

1 Ответ

0 голосов
/ 19 января 2012

Вы не сможете перехватить j_security_check с серверной стороны.Фильтры и все будут вызываться только после прохождения j_security_check, если ваш ресурс защищен.

У меня был похожий случай, я изменил способ, которым мое приложение выполняло вызовы.Сначала выполните http-запрос на выполнение j_security_check, а затем используйте тот же экземпляр клиента для выполнения остальной части работы.

Суть в том, что j_security_check - это первое, что происходит на сервере.Таким образом, вы не сможете перехватить его с сервера.

Спасибо
J

...