SSO单点登录

a) 表面意思:⼀处登录,处处登录,⼀处登出,处处登出。⽤户只需要登录⼀次就可以访问所有相互信任的应⽤系统。
b) Single Sign On
c) 原理:
i. 当⽤户第⼀次访问淘宝的时候,因为还没有登录,会被引导到认证中⼼进⾏登录。
ii. 根据⽤户提供的登录信息,认证系统进⾏身份验证,如果通过,则登录成功,并返回给⽤户⼀个认证的凭据(token)。
iii. 当⽤户访问天猫时,就会将这个 token 带上,作为⾃⼰认证的凭据。
iv. 应⽤系统接收到请求后会把 token 送到认证中⼼进⾏校验,检查 token 的合法性。
v. 如果通过校验,⽤户就可以在不⽤再次登录的情况下访问天猫了。

d) Sso实现技术
Cookie单点登录
i. 使用cookie作为媒介,存放用户凭证
ii. 用户登录淘宝之后,返回一个token,存入客户端的cookie中,当用户访问天猫的时候,会自动带上cookie,token再传给认证中心,进行校验。
分布式session

iii. 用户第一次登录时,将会话信息,写入分布式session
iv. 用户在此登录时,获取分布式session,判断是否有登录信息,如果返回没有则返回登录页面
v. Session一般储存到Redis中,因为有持久化功能,如果分布式session宕机后,重启之后可以从持久化储存中重新加载会话信息
e) Sso常见方案
OAuth2(第三方登录授权)
i. 第三方系统访问主系统资源,用户无需将主系统的账户告知第三方,只需要通过主系统的授权,第三方就可以使用主系统的资源。
Jwt
ii. JsonWebToken,是为了再网络应用之间传递信息而执行的一种,基于json的开放标准,难度高,需要了解很多协议,偏向底层的东西,需要你基于jwt认证协议,自己开放sso服务和权限控制
CAS不是并发的(cas)
iii. 单点登录的cas和并发的cas完全是两码事
iv. 中央认证服务,central authentication service
v. Cas是耶鲁大学发起的一个开源项目,为web应用系统提供单点登录的解决方案,实现多系统只需要登陆一次,无需重复登录

  1. Cas server
  2. Cas client
    vi. Server 和 client 分别独立部署,server主要负责认真工作,client负责处理对客户端资源的访问请求,重定向到server进行认证
  3. 授权服务器保存一个全局session,多个客户端各自保存自己的session
  4. 客户端登录时判断自己的session是否登录,如果没有登录,则重定向到服务器进行授权(带上自己的地址,用于回调)
  5. 授权服务器判断全局的session是否已经登录,如果未登录则重定向登录页面,提供用户登录,登录成功之后,授权服务器重定向到客户端,带上ticket
  6. 客户端收到ticket后,请求服务器获取用户信息
  7. 服务器同意客户端授权后,服务器保存用户信息到全局session,客户端将用户信息保存到本地session
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值