当前位置: 首页 > 知识库问答 >
问题:

Apache Tomcat 7在每次请求时更改JSESSIONID

缑泓
2023-03-14
<Valve className="org.apache.catalina.authenticator.BasicAuthenticator" changeSessionIdOnAuthentication="false" />
<Context path="/myapp" reloadable="false" override="true" useNaming="false" allowLinking="true" useHttpOnly="false" sessionCookiePath="/" sessionCookiePathUsesTrailingSlash="false">

Tomcat为什么要这样做,我可以做些什么来防止它?

共有1个答案

富钧
2023-03-14

原来是Spring安全造成的。我们使用的是Spring Security 3.1X,默认情况下,它将经过身份验证的凭据存储在用户会话中。为了对抗会话固定攻击,它自动将用户会话的内容复制到新的会话id中,并使旧会话无效。

修复方法是将以下内容添加到安全配置中的http元素中,因为我们不需要在应用程序中使用会话:

create-session="stateless"

希望这能帮助其他人。

 类似资料:
  • 问题内容: 我有登录功能 此函数用于将变量保存到会话中, 但是当新请求检查用户是否登录时 然后返回总是“注销”,因为会话已更改。我使用Redis来存储会话,我认为这是Redis的错误,因为当我停止使用Redis时,可以,请帮帮我! 问题答案: 最好的处理方式是始终让Express处理它(如果可以的话)。 https://flaviocopes.com/express-sessions/(更新了会话

  • 问题内容: 作为Java学习的一部分,我使用netbeans制作了一个jForm,其中包含三个jTextField,供用户输入一些数字,然后将这些数字的总和显示在另一个jTextField中。当然,这非常简单,但是我希望能够在没有任何按钮的情况下执行此操作。我不知道每次修改3个文本字段中的任何一个时如何“更新”总和。谁能帮我? 这是我的代码(该表单是在设计模式下使用netbeans完成的): 问题

  • 问题内容: 我想向页面URL 添加一些参数。我正在加载这样的内容: 如何更改具有相同参数的URL ? 问题答案: 您可以使用HTML5 pushState API来实现。但是,只有最新的浏览器才支持它,而IE9甚至不支持IE。没有办法做到这一点。但是,有一个约定,您将使用location.hash来指示页面的状态已被ajax请求修改的页面。有关如何使用URL散列来表示你的页面上状态的更多信息,你可

  • 我正在开发一个。能让它一变就重启吗?我正在Coffeescript中开发它。是否可以监视以便在保存更改时重新启动?

  • 我正在尝试使用JSoup访问java中的在线api。通过我的浏览器,我可以很好地导航到url,并得到json数据作为回报。但是,如果我使用Jsoup,url会发生更改,并且会从中删除“/api”。例如:https://www.onehash.com/api/archived_contest/122/我可以通过浏览器很好地打开它,但如果我使用jsoup连接到它,url就会变成https://www.

  • 运行在Mojarra 2.1.13、PrimeFaces 3.5、JDK 1.6.x上。和Apache Tomcat 7.0.27,谢谢! 多谢了。