j_security_check过滤器在jboss EAP 6.4中不起作用

时间:2019-07-11 11:54:57

标签: servlet-filters jboss6.x j-security-check

我在互联网上搜索了一个解决方案,但找不到任何东西。

我的问题是关于在我的login.jsp上使用j_security_check进行过滤并将其转发到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。并向我显示一个空白的空白页。

我想要的是执行工作并遵循web.xml上列出的链的postloginfilter。

我也看不出这个过滤器是否也可以工作。

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

CreateConnectionAndGetEntityNames实际上是显示表单的一个。但是当我去那里时,断点在postloginfilter中不起作用。

可能是什么原因,我该如何解决?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

据我所知,FormAuthenticator是作为JBossWeb阀实现的。结果,期望JBoss j_security_check请求不调用任何应用程序servlet过滤器。您可以将过滤器实现为阀门。