tib*_*ibo 4 java spring jsp spring-security
我有一个错误页面,当返回404响应状态时显示.这个页面是由模板机制生成的(我使用了tile); 在这个模板中,我有一个包含类似内容的标题:
<sec:authorize access="isAnonymous()">
blabla
</sec:authorize>
<sec:authorize access="isAuthenticated()">
blibli
</sec:authorize>
Run Code Online (Sandbox Code Playgroud)
因此,根据用户是否经过身份验证,它会显示blibli或blabla.此代码适用于使用此模板的所有页面,但我的404页面除外!它什么都没显示!
任何的想法??
Sla*_*hin 10
我敢打赌,问题的关键在于你如何定义filter-mapping的web.xml.最常见的配置是:
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Run Code Online (Sandbox Code Playgroud)
这会将过滤器映射到所有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>
Run Code Online (Sandbox Code Playgroud)
试试吧.如果不起作用则添加<dispatcher>INCLUDE</dispatcher>因为Tiles,可能包括这样的页面.
也可以看看:
| 归档时间: |
|
| 查看次数: |
5094 次 |
| 最近记录: |