在我之前的工作中,我遇到了一个众所周知的问题,即无法阻止用户在退出后使用后退按钮导航网站.我的技术包括Spring,Javascript以及Java AJAX库ZK的Mobile模块.除了使用后退按钮导航外,授权访问也起作用.我无法再访问应用程序代码.该应用程序是移动应用程序,我不是原作者.
我尝试了以下常见解决方案:
>尝试添加WebContentInterceptor(按照指示here)
>使用this filter question和此答案about inserting additional filters的组合定义了我自己的过滤器.在调试期间不执行过滤器代码
>添加了RequestMappingHandlerAdapter以将cacheSeconds设置为0
我们在t2-spring-security-context.xml中有以下定义:
logout logout-success-url="/login.jsp" invalidate-session="true"/>
其他有关我们实施的细节:
>在注释为@Controller的类中使用来自Javascript的@RequestMapping调用Java方法(I.E. t2-metrics.jsp使JS触发到URL匹配请求映射)
>尝试添加安全性:全局方法安全性应用程序上下文和角色注释方法
>使用scriptlet代码禁用对JSP页面的缓存,并且不执行任何操作.此外,在IntelliJ中调试应用程序,并且我的定义过滤器中的调试点未被命中.
>一旦他们使用后退按钮返回应用程序,用户仍然可以在应用程序中导航.
我唯一的想法是,问题涉及我们的客户端代码(Javascript)或库(与Spring安全性的错误集成),因为调试没有达到Spring Security过滤器链.