如何使用弹簧安全处理后退按钮

Sau*_*mar 4 spring spring-mvc spring-security

我正在使用spring security,我想知道如何解决这个后退按钮或浏览器的问题.

事情是,我登录后,当我点击后退按钮.我再次来到登录页面.即使单击后退按钮,您仍然只能登录登录主页,这将是非常好的.

同样必须是如果我退出它不应该像我点击后退按钮我再次在登录主页.我不知道如何解决这个问题.我知道浏览器会缓存页面但是当我使用像facebook或yahoo这样的标准网站时,看起来已经有了一些解决方案.任何方向或信息都会非常有用.

Mak*_*das 5

部分问题来自浏览器缓存.您可以通过多种方式禁用它:

  • 为您的所有页面配置Spring MVC拦截器:
    <mvc:annotation-driven/>

    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**/*"/>
            <bean id="webContentInterceptor" 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>
    </mvc:interceptors>
Run Code Online (Sandbox Code Playgroud)
  • 呼叫响应方法:
    response.setHeader("Pragma", "no-cache");
    response.setHeader("Cache-Control", "no-cache");
    response.setDateHeader("Expires", 0);
Run Code Online (Sandbox Code Playgroud)
  • 将元标记添加到相应的页面:
    <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">
Run Code Online (Sandbox Code Playgroud)