从Spring Application中删除JSESSIONID cookie

时间:2013-01-24 20:47:38

标签: java spring session spring-security

我有一个无状态的Spring应用程序,所以我没有使用会话。我想禁用与会话有关的所有内容。我有一个context.xml Tomcat配置,我添加了这个:

<Manager pathname="" />

来源^:http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html

我还将它添加到spring security xml文件中的每个http块:

create-session="stateless" disable-url-rewriting="true"

即使完成了这些操作,如果我手动删除我的JSESSIONID cookie,我点击的任何页面都会再次添加它。我该如何防止这种情况?

2 个答案:

答案 0 :(得分:2)

在tomcat配置中,您可以尝试将以下属性添加到Context元素

<Context cookies=false disableURLRewriting=true ...

来自tomcat 6 doc

答案 1 :(得分:1)

JSP默认创建会话,因此most likely cause

使用

<%@ page session="false" %>

阻止会话创建。

如果您还要添加

<debug />

到Spring Security配置的顶部,它将记录新的会话创建以及堆栈转储,以便您可以确定它们发生的位置。

这个添加到过滤器链的调试过滤器是一个非常有用的功能,用于跟踪开发过程中处理请求的方式,而不仅仅是会话创建问题。