我敢打赌,问题在于你如何定义filter-mapping
的web.xml
。最常见的配置是:
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此过滤器将过滤器映射到所有URL,但仅当它们通过REQUEST
方法访问时才过滤。所有其他情况下(如INCLUDE
,FORWARD
和ERROR
)不受此过滤器捕获。因此,要将过滤器绑定到ERROR
请求,请将其定义为
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<!-- apply Spring Security authentication to error-pages -->
<dispatcher>ERROR</dispatcher>
</filter-mapping>
尝试一下。如果不起作用,则添加,<dispatcher>INCLUDE</dispatcher>
因为Tiles可能通过这种方式包含页面。