风吹草动

知识改变命运,思想决定高度。 JAVA技术交流群:499950895 欢迎加群一起交流学习!...

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共享来实现会话的统一管理。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33251859/article/details/79972551
个人分类: http , session spring
上一篇springboot多数据源
下一篇Linux 操作命令
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭