身份认证的三种方式

一 单一服务器模式

1 一般过程如下

a 用户向服务器发送用户名和密码。

b 服务器验证后,相关数据(如用户名,用户角色等)将保存在当前会话(session)中。

c 服务器向用户返回session_id,session信息都会写入到用户的Cookie。

d 用户的每个后续请求都将通过在Cookie中取出session_id传给服务器。

e 服务器收到session_id并对比之前保存的数据,确认用户的身份。

2 缺点

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

分布式架构中,需要session共享方案,session共享方案存在性能瓶颈。

二 SSO(Single Sign On)单点登录模式

1 架构图

2 定义

分布式,SSO(single sign on)模式:单点登录英文全称Single Sign On,简称就是SSO。它的解释是:在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统。

  • 如图所示,图中有3个系统,分别是业务A、业务B、和SSO。

  • 业务A、业务B没有登录模块。

  • 而SSO只有登录模块,没有其他的业务模块。

3 一般过程如下

a 当业务A、业务B需要登录时,将跳到SSO系统。

b SSO从用户信息数据库中获取用户信息并校验用户信息,SSO系统完成登录。

c 然后将用户信息存入缓存(例如redis)。

d 当用户访问业务A或业务B,需要判断用户是否登录时,将跳转到SSO系统中进行用户身份验证,SSO判断缓存中是否存在用户身份信息。

e 这样,只要其中一个系统完成登录,其他的应用系统也就随之登录了。这就是单点登录(SSO)的定义。

4 优点

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

5 缺点

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

三 Token模式

1 架构图

2 优点

无状态: token是无状态,session是有状态的

基于标准化:你的API可以采用标准化的 JSON Web Token (JWT)

3 缺点

占用带宽

无法在服务器端销毁

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值