【问题标题】:Remove JSESSIONID cookie from Spring Application从 Spring 应用程序中删除 JSESSIONID cookie
【发布时间】:2013-01-08 17:52:30
【问题描述】:

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

【问题讨论】:

标签: java spring session spring-security


【解决方案1】:

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

<Context cookies=false disableURLRewriting=true ...

来自tomcat 6 doc

【讨论】:

    【解决方案2】:

    JSP 默认创建一个会话,即most likely cause

    使用

    <%@ page session="false" %>
    

    防止会话创建。

    如果你也添加

    <debug />
    

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

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

    【讨论】:

      猜你喜欢
      • 2016-03-09
      • 2019-08-13
      • 2015-10-25
      • 1970-01-01
      • 2012-01-20
      • 2014-12-02
      • 1970-01-01
      • 2012-06-18
      • 2012-07-04
      相关资源
      最近更新 更多