单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登录,从而更好地设计出符合需要的安全架构。
单点登录是什么?
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。所以你会看到很多域名直接是sso.domain.com,也就是用来做单点登录的。
如上图,一个用户请求N个系统,给用户的感觉是一个系统的感觉,而不要重复登录。
单点登录是一个概念性东西,既然是概念,那么就有很多实现方式。
实现方案
根据不同的业务场景来不同的实现方式。下面来罗列一下对应的场景以及实现单点登录的方式。
一、方案一。
域名:a.sojson.com 、b.sojson.com、c.sojson.com、n.sojson.com
描述:N个系统&#