Фильтр j_security_check не работает в jboss eap 6.4 - PullRequest
0 голосов
/ 11 июля 2019

Я искал решение в интернете и ничего не смог найти.

Моя проблема связана с использованием j_security_check в моем login.jsp для фильтрации и пересылки его в postloginfilter.java.

Для этого я написал эти строки в web.xml

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login.jsp</form-login-page>
    <form-error-page>/login.jsp</form-error-page>
  </form-login-config>
</login-config>

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

Но даже когда я вызываю форварда, вот так:

final String requestStr = "/j_security_check?j_username=" + reqUserId 
+ "&j_password="+ reqPassword;

req.getRequestDispatcher(requestStr).forward(req, resp);

Это не такзайти в postloginfilter.java вообще.и показывает мне пустую пустую страницу.

То, что я хочу, это postloginfilter, выполняя работу и следуя цепочке, как указано в web.xml.

Я также не вижу, работает ли этот фильтр тоже.

  <filter-mapping>
   <filter-name>PostLoginFilter</filter-name>
   <url-pattern>/CreateConnectionAndGetEntityNames.do</url-pattern>
 </filter-mapping>

CreateConnectionAndGetEntityNames - это тот, который показывает форму.Но когда я иду туда, точки останова не вступают в силу в postloginfilter.

В чем может быть причина и как я могу решить эту проблему?

заранее спасибо.

1 Ответ

0 голосов
/ 12 июля 2019

Насколько я знаю, FormAuthenticator реализован в виде клапана JBossWeb.В результате можно ожидать, что запросы JBoss j_security_check не вызовут какой-либо фильтр сервлета приложения.Вместо этого вы можете использовать такие фильтры как клапаны.

...