我使用Jquery Mobile,Spring MVC和Spring Security开发了一个移动应用程序。
每当我登录应用程序时,Cookie都会生成并存储在浏览器中。
每当我注销应用程序时,会话都会被销毁,但Cookie会出现在浏览器中。
我的问题是,如果浏览器中有Cookie,则应用程序不会在运行IOS 6.0.1的IPad上运行。
当我按下Logout并销毁会话时,如何从浏览器中删除cookie。
答案 0 :(得分:0)
您可能希望在session management.的注销处理程序中使用delete-cookies
属性,我从文档中引用:
<http>
<!-- ... -->
<logout delete-cookies="JSESSIONID" />
</http>
您可以使用逗号指定多个cooke。但文档也发出警告:
不幸的是,这不能保证与每个servlet一起使用 容器,所以你需要在你的环境中测试它
另外,请考虑代理:
如果您在代理服务器后面运行应用程序,那么您也可能是 能够通过配置代理服务器来删除会话cookie。对于 例如,使用Apache HTTPD的mod_headers,以下指令 会通过在响应中将它到期来删除JSESSIONID cookie 注销请求(假设应用程序部署在路径下 /教程):
<LocationMatch "/tutorial/j_spring_security_logout">
Header always set Set-Cookie "JSESSIONID=;Path=/tutorial;Expires=Thu, 01 Jan 1970 00:00:00 GMT"
</LocationMatch>