Servlets Servlet筛选器未应用于容器管理的登录页面

Servlets Servlet筛选器未应用于容器管理的登录页面,servlets,http-headers,servlet-filters,jboss-eap-6,login-page,Servlets,Http Headers,Servlet Filters,Jboss Eap 6,Login Page,我正在使用一个过滤器在我的所有页面中插入反点击劫持标题-这是正确的,除了JBoss EAP 6.3容器管理的登录页面,这是一个更重要的页面 登录页面根本不调用过滤器,该页面由http://localhost/Application/。我尝试过的过滤器映射包括 <filter> <filter-name>InsertXFrameOptions</filter-name> <filter-class>com.filter.InsertX

我正在使用一个
过滤器
在我的所有页面中插入反点击劫持标题-这是正确的,除了JBoss EAP 6.3容器管理的登录页面,这是一个更重要的页面

登录页面根本不调用过滤器,该页面由
http://localhost/Application/
。我尝试过的过滤器映射包括

<filter>
    <filter-name>InsertXFrameOptions</filter-name>
    <filter-class>com.filter.InsertXFrameOptionsFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>    
<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>*</url-pattern>
</filter-mapping>
<filter-mapping>
    <filter-name>InsertXFrameOptions</filter-name>
    <url-pattern>/</url-pattern>
</filter-mapping>

InsertXFrameOptions
com.filter.InsertXFrameOptionsFilter
InsertXFrameOptions
/*
InsertXFrameOptions
*
InsertXFrameOptions
/

不过,一点运气都没有-如何映射过滤器,使其应用于容器管理的登录页面?

过滤器不会在
j\u security\u check
请求中启动。在命中web应用程序的过滤器之前,它们由容器在内部处理。因此,您需要使用特定于容器的解决方案来钩住请求/响应

JBoss 6.x/7.x(以及所有其他基于Tomcat的容器)为此提供了支持。基本上,将
过滤器
更换为
,该阀:

为了让它运行,请在
jboss web.xml
中执行以下操作:

<valve>
    <class-name>com.example.InsertXFrameOptionsValve</class-name>
</valve>

com.example.InsertXFrameOptionsValve

web.xml
的所有页面上,在JBoss中设置了一个安全域,映射到各种安全提供商?运行JBoss EAP 6.3,并提供了实现。很酷,我将对此进行研究。谢谢
<valve>
    <class-name>com.example.InsertXFrameOptionsValve</class-name>
</valve>