单点登录SSO实现方式

登录方式

早期登录方式

早期单一服务器,用户认证。使用session技术,将我们登录的信息存储到session中,然后取出来和数据库信息进行比较,然后登录
在这里插入图片描述
缺点:单点性能压力,无法扩展

分布式单点登录(SSO模式)

在这里插入图片描述

  • 优点:用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略
  • 缺点: 认证服务器访问压力较大。

单点登录的三种方式

第一种:session广播方式

简单来说就是将用户登录信息存储到session中,然后复制到各个服务
缺点:每次都要复制,如果服务较多,那么将会相当麻烦,并且数据重复,浪费存储空间

第二种:cookie+redis实现

在一个项目中的任何一个模块进行登录,登录成功之后,我们将数据放到两个地方cookie和redis中

  • redis:key中存储生成的唯一值,value中存储用户数据
  • cookie:将redis中生成的key放到cookie中

所以当我们访问其他模块的时候,带着cookie去访问,然后从redis中进行查询,如果查询出数据,那么不用再次登录

第三种:token实现

token是什么呢?
token也可以称做令牌,一般由 uid+time+sign(签名)+[固定参数] 组成

在一个项目中的某个模块进行登录,登录完成后,按照制定规则生成一个token,token包含用户的信息,生成一个字符串

  • 可以将字符串通过cookie返回
  • 可以将字符串通过地址栏返回

当我们再次去访问其他模块的时候,每次访问带着token,在访问模块里面获取地址栏的token,根据token进行获取用户信息,如果能够获取到,则说明已经登录,不需要再重复登录
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT二叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值