SpringSession Redis 共享 Session

基于spring boot 的session共享

依赖包:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

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

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

三个包分别是:对redis支持的包、springsession 对redis 集成的包、springsession 包
添加依赖到 pom.xml 中

application文件配置:

//用于指定session共享保存位置
spring.session.store-type: redis

注解启用配置:

添加 @EnableRedisHttpSession 注解,即启用springsession + redis 的共享机制。

二级域名配置:

正常来说上边步骤结束,就能正常使用springsession共享功能了,但是有一些局限性,就是在二级域名下,不同子域名之间不能共享session。所以添加如下配置:
创建配置类 SessionConfig ,添加方法(也可以添加在启动类中)

@Bean
public CookieSerializer cookieSerializer(){
    DefaultCookieSerializer defaultCookieSerializer = new DefaultCookieSerializer();
    defaultCookieSerializer.setCookieName("sessionId");
    defaultCookieSerializer.setDomainName("aijianzi.com");
    defaultCookieSerializer.setCookiePath("/");
    return defaultCookieSerializer;
}

setDomainName 即为设置二级域名配置,配置好之后就可以跨二级子域名使用spring session 做到session共享了。
@EnableRedisHttpSession 注解可以添加在配置类上

使用:

session 共享之后的使用,和正常使用一样。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容