session跨域其实有很多种办法,我这里用的是Redis的
1.pom引入依赖
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
2.在启动类上加开启注解(springboot)
@EnableRedisHttpSession
3.配置文件中配置
#session保存类型设置
spring.session.store-type=redis
#session过期时间
server.servlet.session.timeout=30
4.config中配置
@Bean
public CookieSerializer cookieSerializer() {
DefaultCookieSerializer serializer = new DefaultCookieSerializer();
//子域名:xxx.ccc.com 父域名:ccc.com
serializer.setDomainName("ccc.com");
serializer.setCookieName("GULISESSION");
return serializer;
}
5.统一解决序列化
@Bean
public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
return new GenericJackson2JsonRedisSerializer();
}
6.这套配置必须每个想要Session的服务都要配置