SSO 单点登录

        讲解单点登录前,我们需要知道原先我们(单一服务器)普通登录的流程,以前我们登录之后就会在服务器端把我们的用户数据存入session,下次我们判断是否登录时,只需要从session中获取数据,即可判断当前是否登录,但随着网络的发展,项目变得更大,更负责,我们的项目被拆分成了不同的模块,放在了不同的服务器上,所以,你这个模块登录后,这个模块的服务器内的session中有你的信息,而其余模块中却没有,你还得再次登录,为了解决这个问题SSO出现了,SSO实现了一次登录,处处访问。

SSO 有三种实现方式

1 session 广播机制,就是你在这个模块登录完之后,服务器将其内的seesion信息传递给其他模块的服务器,做到一致性

2 cookie + redis ,你在这个模块中登录之后,就把数据放在两个地方,(1)redis,在key生成唯一随机值(用户id),value:用户数据,(2)在cookie保存redis生成的key值。当你访问其他模块时,就带着cookie进行访问,从redis中获取cookie中的key进行查询,用户是否登录。

3 使用token ,那么什么是token呢?token可以简单的理解为带着客户信息的字符串。在项目某个模块进行登录,登录之后,按照规则生成包含用户信息的字符串,把字符串放到请求头中,那么我们访问其他模块时就从请求头中获取token,解析之后检验是否登录。

下面我通过代码加解析的过程,详细给大家分析一波使用token的SSO过程

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值