java - 如果将 Spring 5.X 的 DefaultCookieSerializer 与 Tomcat 8 一起使用,如何防止创建 JSESSIONID

标签 java spring spring-mvc spring-data spring-session

我正在迁移到 spring 5.X,并为名为 colombiaonline.com 的域配置了 cookieName“CUSTSESSION”的 DefaultCookieSerializer。该 session 使用RedisHttpSessionConfiguration存储在redis中。 springSecurityFilterChain 定义在 Spring 应用上下文中的 springSessionRepositoryFilter 之后。 应用程序部署在 Tomcat 8 上。(context.xml sessionCookieDomain 设置为“colombiaonline.com”)

应用程序的 URL 是 dev.colombiaonline.com。

现在我的问题是—— 创建了两个 cookie

  1. CUSTSESSION 是使用配置的域 colombiaonline.com 创建的。
  2. JSESSIONID 是为域 dev.colombiaonline.com 创建的,这不是预期的。

如何阻止创建 JSESSIONID,因为它会导致问题?

最佳答案

我能够解决这个问题。只有浏览器缓存导致了此问题。配置是正确的,一旦我以隐身方式打开我的网站,它就对我有用。

但是,我们还需要注意一件事,那就是“sameSite”属性。它的默认值为“Lax”,与“None”不同。如果您在站点之间跳转并希望正确管理 session ,请正确配置 SameSite,就像我之前的情况一样,它没有,但在迁移到 5.x 后,它被设置为“Lax”,这导致了问题。 请参阅https://security.stackexchange.com/questions/168365/is-setting-same-site-attribute-of-a-cookie-to-lax-the-same-as-not-setting-the-sa

关于java - 如果将 Spring 5.X 的 DefaultCookieSerializer 与 Tomcat 8 一起使用,如何防止创建 JSESSIONID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57062766/

相关文章:

java - 无法实例化 java 类

java - Servlet 无法运行方法

java - 如何在 Spring Data Rest Application 中创建实体之间的引用

spring - 微服务和 Spring Security OAuth2

java - 防止 Spring 尝试读取旧的资源流

java - 使用注释的 Java 中的 Const 正确性?

spring - 访问自定义 PropertyPlaceholderConfigurer 中的属性

java - 了解 Spring 3.0 示例中的 Ajax 简化

java - 当我们在@Bean中创建新类,并在另一个@Bean中使用@Bean时会发生什么

java - 在 Spring Boot 应用程序中调用 Apache CXF 客户端时无法创建安全的 XMLInputFactory