2

我有一个无状态的 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,我点击的任何页面都会再次添加它。我该如何防止这种情况?

4

2 回答 2

2

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

<Context cookies=false disableURLRewriting=true ...

来自tomcat 6 文档

于 2013-01-24T21:08:04.847 回答
1

JSP 默认创建会话,因此这是最可能的原因

利用

<%@ page session="false" %>

以防止会话创建。

如果您还添加

<debug />

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

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

于 2013-01-25T14:17:25.950 回答