单点登陆
单点登陆:Single Sign On,通称SSO。客户只需登陆一次,就能浏览全部有关信赖运用的网络资源。公司里边使用的会多一些,有许多内部网服务平台,但只要在一个登陆系统就能。
实现方案
- 单一网站域名:能把 cookie 种植在根网站域名下完成单点登陆
- 多网站域名:常见 CAS去解决,新增加一个认证机构服务。CAS(Central Authentication Service)是促进SSO单点登陆的框架
CAS完成单点登陆的操作流程:
- 用户访问系统软件A,分辨未登录,则直接跳至认证机构网页页面
- 在认证机构网页页面键入账户,登陆密码,形成动态口令,跳转到 系统软件A
- 在设备A取得动态口令到认证机构去验证,验证根据,则创建会话
- 用户访问系统软件B,发现没合理对话,则跳转到认证机构
- 认证机构发现全局性对话,新创建动态口令,跳转到系统软件B
- 在设备B应用动态口令去认证机构认证,验证通过后,提议系统软件B的部分对话。
实际的朋友可以下边的帖子,讲的很仔细
- CAS完成单点登陆SSO实行基本原理研究(终于明白)
- 一张图看懂CAS单点登录原理
关键环节
以下是举例说明来详细描述CAS完成单点登陆的操作流程:
一、第一次浏览系统软件A
- 用户访问系统软件A (www.app1.com), 自动跳转认证机构 client(www.sso.com), 随后键入登录名,账号登录,随后认证机构 serverSSO 把 cookieSSO 种植在认证机构的网站域名下 (www.sso.com), 跳转到系统软件A,而且携带产生的 ticket 主要参数 (www.app1.com?ticket =xxx)
- 系统软件A (www.app1.com?ticket =xxx)要求系统软件A的后端 serverA ,serverA 去 serverSSO 认证,成功后,将cookieA种植在 www.app1.com下
二、第二次浏览系统软件A 立即带上 cookieA 去浏览后面,验证成功后,即登录成功。
三、第三次浏览系统软件B
- 浏览系统软件B (www.app2.com), 跳转认证机构 client(www.sso.com), 这时候能把认证机构的cookieSSO也带上上,发觉客户已登录过,则直接跳转到系统软件B(www.app2.com), 而且携带产生的ticket主要参数(www.app2.com?ticket =xxx)
- 系统软件B (www.app2.com?ticket =xxx)要求系统软件B的后端 serverB,serverB 去 serverSSO 认证,成功后,将cookieB种植在www.app2.com下
留意cookie形成机会及栽的部位。
- cookieSSO,SSO网站域名中的cookie
- cookieA,系统软件A网站域名中的cookie
- cookieB,系统软件B网站域名中的cookie