天天看点

单点登陆系统(SSO)设计及实现知识铺垫 登陆业务设计

知识铺垫

Http协议

说明:超文本的无状态的协议,可以跳过登录直接通过浏览器访问服务器资源。

有状态会话

session就是一种会话机制,前端cookie存储sessionId作为身份证来保留用户的登录状态。

单点登录系统设计

单系统的登录解决方案

说明:对于用户而言,web系统就是一个整体,登录/注销只要一次就够了,web系统负责管理用户在不同web子系统中的  登录/注销  状态。

单点登陆系统(SSO)设计及实现知识铺垫 登陆业务设计

多系统的登录解决方案 

同域名共享cookie的方式:

单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器与服务器之间维护会话状态。 但cookie是有限制的,这个限制就是cookie的域(通常对应网站的域名),浏览器发送http请求时会自动携带与该域匹配的cookie,而不是所有cookie。

问题:

群域名得统一、应用群各系统使用的技术(至少是web服务器)要相同、cookie本身不安全。

单点登录

多系统应用群登录的解决方案,只需要登录一次就可以访问所有相互信任的应用系统。

 登陆业务设计

实现原理说明:

  • 独立的认证中心,其他系统不提供登录入口,只接受认证中心的间接授权
  • 间接授权通过令牌实现,sso认证中心验证,创建授权令牌, 子系统拿到令牌,即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。

业务部分跳转到老师笔记: