学习一下项目登录实现

用户登录模式介绍

1.0 单一服务器模式

早期单一服务器,用户认证。缺点:单点性能压力,无法扩展

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

SSO(single sign on)模式有三种常用方法。

第一种:session广播机制实现。

是通过session复制来实现多个微服务登录。

第二种:使用cookie+redis实现。

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

(1)redis: key:生成唯一随机值(ip,用户id…) value:用户数据
(2)cookie:把redis里面生成key值放到cookie中

2、访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie值到redis对key值进行查询。

优点 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略

缺点:认证服务器访问压力较大。

第三种:Token模式。

使用token模式实现。
1、在项目某个模块登录后,按照规则生成字符串,把用户信息包含到生成字符串里面,把字符串返回。返回方法有两种
(1)通过cookie返回
(2)通过地址栏返回

优点:
无状态: token无状态,session有状态的
基于标准化: 你的API可以采用标准化的 JSON Web Token (JWT)

缺点:
占用带宽
无法在服务器端销毁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值