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()这个方法。