-1

我使用 Jquery Mobile、Spring MVC 和 Spring Security 开发了一个移动应用程序。

每当我登录应用程序时,都会生成 Cookie 并将其存储在浏览器中。

每当我注销应用程序时,会话就会被破坏,但 Cookie 存在于浏览器中。

我的问题是,如果浏览器中有 Cookie,则应用程序未在运行 IOS 6.0.1 的 iPad 上运行。

当我按下注销以及销毁会话时,如何从浏览器中删除 cookie。

4

1 回答 1

1

您可能希望delete-cookies在注销处理程序中使用该属性进行会话管理。我从文档中引用:

<http>
    <!-- ... -->
    <logout delete-cookies="JSESSIONID" />
</http>

您可以使用昏迷指定多个厨师。但是文档中也有警告:

不幸的是,这不能保证适用于每个 servlet 容器,因此您需要在您的环境中对其进行测试

另外,考虑代理:

如果您在代理后面运行应用程序,您还可以通过配置代理服务器来删除会话 cookie。例如,使用 Apache HTTPD 的 mod_headers,以下指令将通过在对注销请求的响应中使 JSESSIONID cookie 过期来删除它(假设应用程序部署在路径 /tutorial 下):

 <LocationMatch "/tutorial/j_spring_security_logout">
  Header always set Set-Cookie "JSESSIONID=;Path=/tutorial;Expires=Thu, 01 Jan 1970 00:00:00 GMT"
 </LocationMatch>
于 2012-12-11T16:26:58.167 回答