javascript – 注销后单击后退按钮后页面不安全

在我之前的工作中,我遇到了一个众所周知的问题,即无法阻止用户在退出后使用后退按钮导航网站.我的技术包括Spring,JavaScript以及Java AJAX库ZK的Mobile模块.除了使用后退按钮导航外,授权访问也起作用.我无法再访问应用程序代码.该应用程序是移动应用程序,我不是原作者.

我尝试了以下常见解决方案:

>尝试添加WebContentInterceptor(按照指示here)
>使用this filter question和此答案about inserting additional filters的组合定义了我自己的过滤器.在调试期间不执行过滤器代码
>添加了RequestMappingHandlerAdapter以将cacheSeconds设置为0

我们在t2-spring-security-context.xml中有以下定义:

其他有关我们实施的细节:

>在注释为@Controller的类中使用来自JavaScript的@RequestMapping调用Java方法(I.E. t2-metrics.jsp使JS触发到URL匹配请求映射)
>尝试添加安全性:全局方法安全性应用程序上下文和角色注释方法
>使用scriptlet代码禁用对JSP页面的缓存,并且不执行任何操作.此外,在IntelliJ中调试应用程序,并且我的定义过滤器中的调试点未被命中.
>一旦他们使用后退按钮返回应用程序,用户仍然可以在应用程序中导航.

我唯一的想法是,问题涉及我们的客户端代码(JavaScript)或库(与Spring安全性的错误集成),因为调试没有达到Spring Security过滤器链.

最佳答案
在servlet-context文件中使用以下代码

    

它将与jsp页面中的以下代码相同:

  response.setHeader("pragma","no-cache");              
  response.setHeader("Cache-control","no-cache,no-store,must-revalidate");             
  response.setHeader("Expires","0"); 

相关文章

这篇文章主要介绍了spring的事务传播属性REQUIRED_NESTED的原...
今天小编给大家分享的是一文解析spring中事务的传播机制,相...
这篇文章主要介绍了SpringCloudAlibaba和SpringCloud有什么区...
本篇文章和大家了解一下SpringCloud整合XXL-Job的几个步骤。...
本篇文章和大家了解一下Spring延迟初始化会遇到什么问题。有...
这篇文章主要介绍了怎么使用Spring提供的不同缓存注解实现缓...