我创建了一个servlet 过滤器来处理会话超时和身份验证。
@WebFilter(urlPatterns={"/acc/*"})
public class ResourceAuthorizationFilter implements Filter { ... }
我要过滤的页面有这样的模式:/acc/login-flow
, /acc/profiles-flow
. 过滤器也会为资源(css、js 和图像)调用。如何配置urlPatterns从过滤这些资源中排除?
EDIT1
以下是一些被过滤的网址:
http://localhost:8081/acme-0.0.1/acc/login-flow
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/theme.css
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/jquery/jquery.js
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/primefaces.js
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/ajax.gif
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/login.png
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/header.png
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/images/ui-bg_flat_75_ffffff_40x100.png
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/images/default.png
http://localhost:8081/acme-0.0.1/acc/javax.faces.resource/images/ui-icons_888888_256x240.png
我在webapp/resources
文件夹下有一些自定义 css/js 文件,但这些文件不是来自那里。
acc
部分来自:
<servlet-mapping>
<servlet-name>Spring MVC Servlet</servlet-name>
<url-pattern>/acc/*</url-pattern>
</servlet-mapping>
EDIT2
这些代码示例来自一个使用 JSF 2.0、PrimeFaces 3.4.1、Spring 3.0.5.RELEASE、Spring Security 3.0.3.RELEASE 和 Spring Web Flow 2.3.0.RELEASE 实现的项目。