在 Spring Boot 中将 jsessonid cookie 设置为 SameSite=Strict 属性?

cha*_*ken 6 java security cookies spring-boot

将 jsessionId cookie 设置为 SameSite=Strict 的 spring-boot 配置是什么。

JsessionId需要添加SameSite=Strict或者现有的cookie而不是新的cookie生成。是否支持?

小智 5

我使用 Rfc6265CookieProcessor 在 Spring Boot 应用程序中配置 SameSite 标志作为解决方法。

构建.gradle

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-tomcat'
    ...
}
Run Code Online (Sandbox Code Playgroud)

在主类中配置:

@Bean
public ServletWebServerFactory servletContainer() {
    return new TomcatServletWebServerFactory() {
        @Override
        protected void postProcessContext(Context context) {
            Rfc6265CookieProcessor rfc6265CookieProcessor = new Rfc6265CookieProcessor();
            rfc6265CookieProcessor.setSameSiteCookies("Strict");
            context.setCookieProcessor(rfc6265CookieProcessor);
        }
    };
}
Run Code Online (Sandbox Code Playgroud)