CAS完成单点登陆SSO实行基本原理研究(终于明白)

lxf2023-03-11 09:54:01

单点登陆

单点登陆:Single Sign On,通称SSO。客户只需登陆一次,就能浏览全部有关信赖运用的网络资源。公司里边使用的会多一些,有许多内部网服务平台,但只要在一个登陆系统就能。

实现方案

  • 单一网站域名:能把 cookie 种植在根网站域名下完成单点登陆
  • 多网站域名:常见 CAS去解决,新增加一个认证机构服务。CAS(Central Authentication Service)是促进SSO单点登陆的框架

CAS完成单点登陆的操作流程:

  1. 用户访问系统软件A,分辨未登录,则直接跳至认证机构网页页面
  2. 在认证机构网页页面键入账户,登陆密码,形成动态口令,跳转到 系统软件A
  3. 在设备A取得动态口令到认证机构去验证,验证根据,则创建会话
  4. 用户访问系统软件B,发现没合理对话,则跳转到认证机构
  5. 认证机构发现全局性对话,新创建动态口令,跳转到系统软件B
  6. 在设备B应用动态口令去认证机构认证,验证通过后,提议系统软件B的部分对话。

实际的朋友可以下边的帖子,讲的很仔细

  • CAS完成单点登陆SSO实行基本原理研究(终于明白)
  • 一张图看懂CAS单点登录原理

关键环节

以下是举例说明来详细描述CAS完成单点登陆的操作流程:

一、第一次浏览系统软件A

  1. 用户访问系统软件A (www.app1.com), 自动跳转认证机构 client(www.sso.com), 随后键入登录名,账号登录,随后认证机构 serverSSO 把 cookieSSO 种植在认证机构的网站域名下 (www.sso.com), 跳转到系统软件A,而且携带产生的 ticket 主要参数 (www.app1.com?ticket =xxx)
  2. 系统软件A (www.app1.com?ticket =xxx)要求系统软件A的后端 serverA ,serverA 去 serverSSO 认证,成功后,将cookieA种植在 www.app1.com下

二、第二次浏览系统软件A 立即带上 cookieA 去浏览后面,验证成功后,即登录成功。

三、第三次浏览系统软件B

  1. 浏览系统软件B (www.app2.com), 跳转认证机构 client(www.sso.com), 这时候能把认证机构的cookieSSO也带上上,发觉客户已登录过,则直接跳转到系统软件B(www.app2.com), 而且携带产生的ticket主要参数(www.app2.com?ticket =xxx)
  2. 系统软件B (www.app2.com?ticket =xxx)要求系统软件B的后端 serverB,serverB 去 serverSSO 认证,成功后,将cookieB种植在www.app2.com下

留意cookie形成机会及栽的部位。

  • cookieSSO,SSO网站域名中的cookie
  • cookieA,系统软件A网站域名中的cookie
  • cookieB,系统软件B网站域名中的cookie