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>