谷粒商城 登录之后session共享
先说session原理
思考:
‘解决1:不同服务(不同域名),session不能共享
解决2:’即使同一个服务,复制多份,session不同步问题
这里我们选择了redis存储session的方法:
解决办法:
pom文件导入
<!-- 1、整合SpringSession完成session共享问题-->
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-data-redis</artifactId>
</dependency>
application.properties加入
spring.redis.host=192.168.56.10
spring.redis.port=6379
spring.session.store-type=redis
server.servlet.session.timeout=30m
启动类加上
@EnableRedisHttpSession
config目录下
package com.atguigu.gulimall.auth.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.session.web.http.CookieSerializer;
import org.springframework.session.web.http.DefaultCookieSerializer;
@Configuration
public class GulimallSessionConfig {
@Bean
public CookieSerializer cookieSerializer(){
DefaultCookieSerializer cookieSerializer = new DefaultCookieSerializer();
cookieSerializer.setDomainName("gulimall.com");
cookieSerializer.setCookieName("GULISESSION");
return cookieSerializer;
}
@Bean
public RedisSerializer<Object> springSessionDefaultRedisSerializer() {
return new GenericJackson2JsonRedisSerializer();
}
}