我在互联网上搜索了一个解决方案,但找不到任何东西。
我的问题是关于在我的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中不起作用。
可能是什么原因,我该如何解决?
提前谢谢。
答案 0 :(得分:0)
据我所知,FormAuthenticator是作为JBossWeb阀实现的。结果,期望JBoss j_security_check请求不调用任何应用程序servlet过滤器。您可以将过滤器实现为阀门。