SpringBoot的Cookie sameSite之坑

kelelipeng發表於2024-04-23

https://blog.csdn.net/weixin_38296425/article/details/111941318

CSDN上很多文章給出瞭解決Cookie sameSite坑跨域之坑的解決辦法,但是都忽略了一個問題,沒有給出相關的依賴,我也是費了不少勁終於找到了解決辦法,在這裡記錄下來。
例如下面的程式碼:

@Configuration
public class TomatConfig {
    @Bean
    public CookieSerializer httpSessionIdResolver() {
        DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
        cookieSerializer.setCookieName("token");
        cookieSerializer.setUseHttpOnlyCookie(false);
        cookieSerializer.setSameSite(null);
        return cookieSerializer;
    }
}

這樣的設定沒有錯,但是當你用這樣的程式碼時就會提示找不到cookieSerializer.setSameSite(null);這個方法,其實要使用這個方法是有條件的,需要引入下面的兩組依賴才行
第1部分:

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-data-redis</artifactId>
    <version>2.1.1.RELEASE</version>
</dependency>

第2部分:

<dependency>
    <groupId>org.springframework.session</groupId>
    <artifactId>spring-session-core</artifactId>
    <version>2.1.4.RELEASE</version>
</dependency>

如果缺少第1部分的依賴會提示找不到CookieSerializer這個類
如果缺少第2部分的依賴會提示找不到setSameSite()這個方法。

相關文章