SSO(single sign on)模式 --单点登录三种登录方式

7 篇文章 0 订阅

SSO(single sign on)模式 --单点登录

单点登录 : 分布式项目中 不再使用session 来保存用户登录数据
在这里插入图片描述

缺点:单点性能压力,无法扩展
1.2. SSO(single sign on)模式
分布式,SSO(single sign on)模式
优点
用户身份信息独立管理,更好的分布式管理。
可以自己扩展安全策略

单点登录三种常见方式:

第一种: session广播机制

​ : session的复制 (在每个模块都是复制当前的session的值) **缺点:**模块多的话 资源浪费

第二种: 使用cookie + redis 实现

​ : cookie 是客户端技术 (存储在浏览器中) , redis 基于 k-v实现

做法:

  1. 在项目中任何一个模块进行登录,登录以后,把数据放到俩个地方

    (1) redis: 在key存储: 生产唯一随机值(ip 用户id等等) ,在value 存储: 用户数据

    (2) cookie: 把redis里面生产key值放到cookie里面

  2. 访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情:

    (1) 把cookie获取值,到redis进行查询,根据key进行查询,如果查询数据就是登录


在这里插入图片描述

第三种: 使用token实现

什么是 token? : *按照一定规则生产字符串,字符串可以包含用户信息

做法:

1.在项目某个模块进行登录,登录之后,按照规则生产字符串,把登陆之后用户包含到生产字符串里面,把字符串返回

​ (1) 可以把字符串通过cookie返回

​ (2) 把字符串通过地址栏返回

 **2. 再去访问其他模块,每次访问在地址栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.==如果可以获取到.就是登陆==**

栏带着生产字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息.如果可以获取到.就是登陆**

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小吴吃肉啦~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值