即使成功注销后,仍然按下浏览器后退按钮再次登录

时间:2014-12-12 08:20:01

标签: grails spring-security

每当我按下浏览器后退按钮,即使成功注销后,它也会将我带到应用程序的主页,没有任何数据。这只显示页面标题部分,按下任何菜单选项都会将我带回登录页面。 我使用Grails-2.3.6和JDK-6。 所以任何身体都可以建议我可能是什么问题,因为我是grails的新手?

1 个答案:

答案 0 :(得分:3)

是Web开发中的常见问题,页面缓存在浏览器中,因此当您按下后退按钮时,浏览器会显示其缓存中的内容。为了解决这个问题,您需要在页面中设置过期标题。在grails中,最简单的方法是使用过滤器:

使用以下内容创建fie grails-app/conf/RequestFilters.groovy

  class RequestFilters {
     def filters = {
        requestHeadersFilter(controller: '*', action: '*') {
            after = {
                response.setHeader("Pragma", "no-cache")
                response.setDateHeader("Expires", 1L)
                response.setHeader("Cache-Control", "no-cache")
                response.addHeader("Cache-Control", "no-store")
            }
        }
     }
  }

对于safari,您需要另外一个小黑客,将onunload=""添加到布局的主体(视图/布局)