单点登录(SSO)与用户业务介绍

1、单一服务器模式

早期单一服务器,用户认证。

在这里插入图片描述

使用session对象实现;登录成功之后,把用户数据放到session里面;判断是否登录,从session获取数据,可以获取到登录。

缺点:单点性能压力,无法扩展。

2、 SSO(single sign on) 模式【也叫单点登录】

在这里插入图片描述

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

单点登录三种常见方式:

session广播机制实现
简单说就是session复制。

使用cookie + redis 实现
在项目中任何一个模块进行登录,登录之后,把数据放在两个地方
(1)redis,在key:生成唯一随机值,在value:用户数据
(2)cookie,把redis里面生成key值放到cookie里面
访问项目中其他模块,发送请求带着cookie进行发送,获取cookie值,拿着cookie做事情;把cookie获取值,到redis进行查询,根据key进行查询,如果查询数据就是登陆

使用token实现
在项目某个模块进行登录,登录之后,按照规则生成字符串,把登录之后用户包含到生成字符串里面,把字符串返回
(1)可以把字符串通过cookie返回
(2)把字符串通过地址栏返回
再去访问项目其他模块,每次访问在地址栏带着生成字符串,在访问模块里面获取地址栏字符串,根据字符串获取用户信息。如果可以获取到,就是登陆

3、Token模式

token【令牌】是什么:按照一定规则生成字符串,字符串可以包含用户信息。

img

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

注:基于微服务开发,选择token的形式相对较多,因此我使用token作为用户认证的标准

posted @ 2021-04-08 23:45  金融融融融果果  阅读(281)  评论(0编辑  收藏  举报