SpringSession
主要解决
session共享不同步问题
使用redis存储session
pom
1 | <dependency> |
配置
1 | #方式 |
整合
1 | package com.jhj.gulimall.auth.server; |
注意
如果想要将对象 作为session 存入redis中 需要将对象实现序列化(implements Serializable)
在每个服务中使用的对象要放到common 防止序列化与反序列化失败
实现下面可忽略上面注意
放到公共里面 或者用到的都放
- 默认发的令牌 作用域为当前域
- 使用json的序列化方式进行对象数据序列化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31package com.jhj.gulimall.auth.server.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 defaultCookieSerializer = new DefaultCookieSerializer();
//作用域 全域 父域名
defaultCookieSerializer.setDomainName("gulimall.com");
defaultCookieSerializer.setCookieName("GULISESSION");
return defaultCookieSerializer;
}
@Bean
//Json序列化
public RedisSerializer<Object> springSessionDefaultRedisSerializer(){
return new GenericJackson2JsonRedisSerializer();
}
}
使用
1 | package com.jhj.gulimall.auth.server.controller; |
效果
作者声明
1 | 如有问题,欢迎指正! |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 jhj-coding!
评论