Spring boot 如何使用Spring boot设置cookie域和路径

Spring boot 如何使用Spring boot设置cookie域和路径,spring-boot,jsessionid,Spring Boot,Jsessionid,在Tomcat中,我们可以这样做: <Context useHttpOnly="true" sessionCookiePath="/"sessionCookieDomain=".XXXX.com"/> 我想与Spring Boot共享二级域的cookie,如何实现?Spring Boot嵌入的服务器的设置可以作为应用程序属性(在#EMBEDDED server CONFIGURATION部分和命名空间server.servlet.session.cookie.下) 与上面的To

在Tomcat中,我们可以这样做:

<Context useHttpOnly="true" sessionCookiePath="/"sessionCookieDomain=".XXXX.com"/>


我想与Spring Boot共享二级域的cookie,如何实现?

Spring Boot嵌入的服务器的设置可以作为应用程序属性(在
#EMBEDDED server CONFIGURATION
部分和命名空间
server.servlet.session.cookie.
下)

与上面的Tomcat配置等效的应该是:

# properties in /src/resources/application.properties
server.servlet.session.cookie.domain=.XXXX.com
server.servlet.session.cookie.http-only=true
server.servlet.session.cookie.path=/

我的解决方案是定义一个CookieSerializer bean,并提供适合我的设置的域模式

如下所示:

(在撰写本文时,这适用于Spring 1.5.x)

要添加到@radrocket81的回复中,下面是一个示例代码。此外,如果通过@EnableRedisHttpSession作为应用程序属性服务器启用Redis会话,则这也是设置Spring boot cookies的最大年龄和其他属性的方法。会话将不被应用

@Bean

public SessionRepositoryFilterforgot在服务器和sessionOzzy右侧之间添加
servlet
。它应该是server.servlet.session.cookie.domain,根据文档()我必须为SpringBoot2+实现以下功能才能使其正常工作-