1

我目前在我的应用程序中有一个基于表单的登录,它是在 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>

但是这个过滤器根本没有被调用。

谁能告诉我这段代码有什么问题或解决这个问题的任何替代方法。

4

1 回答 1

0

您将无法从服务器端拦截 j_security_check。如果您的资源是安全的,过滤器和所有将仅在 j_security_check 通过后调用。

我有类似的情况,我改变了我的应用程序拨打电话的方式。首先发出一个 http 请求来执行 j_security_check,然后使用相同的客户端实例来完成其余的工作。

底线是,j_security_check 是服务器发生的第一件事。所以你将无法从服务器端拦截它。

谢谢
J

于 2012-01-19T13:04:37.903 回答