springBoot+redis 实现session共享理解,应用场景单点登录,分布式应用。

Springboot+redis 实现session共享也是利用了cookie在域名,路径相同的情况下可以共享内容。第一次请求会将SESSION保存在redis中,并将SESSIONID返回到浏览器的cookie中,第二次请求会携带上第一次请求的JSESSIONID。服务端拿到ID先到redis中查找是否存在此SSSSION,存在则拿出来用,不会再创建新的会话。

单点登录可以用cookie+redis的方式,第一次登陆生成token,将token和用户以键值对的方式存入redis。并将token写入cookie返回到浏览器。以后每次请求cookie都会携带上token。服务端获取token然后去redis中查找是否存在此用户从而实现单点登录。

也可以用session共享的方式,将token放入session中。其余步骤和上面一样。

两者的前提都是设置cookie的domian相同,路径为“/”,区别是一个将token放在cookie中,放在cookie中服务端不用实现session共享。一个将token放在session中,服务端需要实现session共享,springboot实现session共享的方式很简单,只需要引入spring-session-data-redis,spring-boot-starter-data-redis依赖,并在启动类上加上@EnableRedisHttpSession注解即可。

通过Nginx配置的集群或分布式应用可以使用session共享来实现会话的统一管理。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值