2014-01-10 89 views
1

我的春节安全注销配置:春季安全:不能注销/无效会话

<security:logout logout-success-url="/login.htm" invalidate-session="true"/> 

而在我的JSP中,我已经提供

< a href="j_spring_security_logout">Logout</a>

当我点击“注销“按钮,它会重新指向我的登录页面。但是,当我尝试通过给出url来访问我的欢迎页面时,它允许我。只有当我再次刷新页面时,它会提示我输入凭据

有关如何解决此问题的任何想法?

+0

当你说让你去欢迎页面,是它实际上把你带到那里还是真的显示一个缓存页面? –

+0

我想这是缓存页面,但我们如何确保不会显示? – Chillax

回答

4

听起来好像您在注销后能够看到缓存的欢迎页面。

为了防止缓存,您可以添加interceptor到您的Spring调度程序配置中,该配置将设置某些标头,告诉浏览器不要缓存。您可以将拦截器应用于所有.htm页面 - 或者只需要一个子集。适用于所有.htm网页:

<mvc:interceptor> 
    <mvc:mapping path="/**/*.htm" /> 
    <bean class="org.springframework.web.servlet.mvc.WebContentInterceptor"> 
     <property name="cacheSeconds" value="0"/> 
     <property name="useExpiresHeader" value="true"/> 
     <property name="useCacheControlHeader" value="true"/> 
     <property name="useCacheControlNoStore" value="true"/> 
    </bean> 
</mvc:interceptor> 
0

头标记加入此禁用缓存解决了这个问题对我来说

<meta http-equiv="Pragma" content="no-cache"> 
<meta http-equiv="Cache-Control" content="no-cache"> 
<meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">